Skip to content

Cellular: retire CellularBase class #9746

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 20, 2019

Conversation

blind-owl
Copy link
Contributor

@blind-owl blind-owl commented Feb 18, 2019

Description

It was decided to retire CellularBase class which served as a pure
virtual interface class from which Cellular network stack
implementations would get inherited. However, the current view is that
we may be the only user of it so we could retire CellularBase.

Test coverage:

  • unit tests. All pass
  • MTB_ADV_WISE_1570 ontarget gt tests, no regression compared to master

Pull request type

[ ] Fix
[x ] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

Release Notes

In order to align to other connectivity technologies CellularBase is deprecated and CellularInterface usage is preferred. This change is backward compatible.

It was decided to retire CellularBase class which served as a pure
virtual interface class from which Cellular network stack
implementations would get inherited. However, the current view is that
we may be the only user of it so we could retire CellularBase.
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 18, 2019

Rather than refactor, should this be functionality change ? It's backward compatible as we just deprecating but removing one?

In any case, this should be covered by in the release notes (add Release notes section to the first comment here please)

@blind-owl
Copy link
Contributor Author

As requested release notes section has been added.
Pull request type adapts to #9219 which is also a refactor type.

@ciarmcom ciarmcom requested review from a team February 18, 2019 12:00
@ciarmcom
Copy link
Member

@blind-owl, thank you for your changes.
@ARMmbed/mbed-os-ipcore @ARMmbed/mbed-os-wan @ARMmbed/mbed-os-maintainers please review.


/** @copydoc NetworkInterface::cellularBase
*/
MBED_DEPRECATED_SINCE("mbed-os-5.12", "Migrated to CellularInterface")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How can something new be already deprecated?

Did you copy&paste the code without removing the deprecation notices?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah.. just noticed that this is just to maintain backward compatibility.

*/
virtual void set_default_parameters();
};
MBED_DEPRECATED_SINCE("mbed-os-5.12", "Migrated to CellularInterface")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this working?
Does it actually cause deprecation notice to come up?

Copy link
Contributor

@0xc0170 0xc0170 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was decided to retire CellularBase class which served as a pure
virtual interface class from which Cellular network stack
implementations would get inherited. However, the current view is that
we may be the only user of it so we could retire CellularBase.

Is this sufficient info for this deprecation? No migration needed?

@AnttiKauppila
Copy link

This is backwards compatible (CellularBase == CellularInterface), so no real impacts to existing users.

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 19, 2019

@donatieng / @SenRamakri Please review

@AnotherButler Please review the docs

@cmonr
Copy link
Contributor

cmonr commented Feb 19, 2019

CI started whist waiting on final reviewers

@cmonr
Copy link
Contributor

cmonr commented Feb 19, 2019

@0xc0170 Remember that @AnotherButler will review the Review Notes once they're consolidated.

@mbed-ci
Copy link

mbed-ci commented Feb 19, 2019

Test run: FAILED

Summary: 1 of 8 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-ARM

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 20, 2019

CI restarted

@mbed-ci
Copy link

mbed-ci commented Feb 20, 2019

Test run: SUCCESS

Summary: 12 of 12 test jobs passed
Build number : 2
Build artifacts

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 20, 2019

@donatieng / @SenRamakri Please review

Waiting for the final approval

Copy link
Contributor

@kjbracey kjbracey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is just renaming CellularBase to CellularInterface, I personally approve on naming consistency grounds. It's inline with all the rest of the IP core stuff.

#4119 for Mbed OS 5.5 started with CellularInterface, but it got turned into CellularBase during review. (Mainly feedback from @geky and @sg-, as I recall). IIRC, it was partly confusion about whether it was a "C++ interface" or a "network interface" (it's actually both, of course).

No corresponding changes were ever made anywhere else in the networking stuff, so that's just left it just an odd one out, which is annoying. (And I'm unclear how CellularInterface continued to exist alongside CellularBase)

@0xc0170 0xc0170 merged commit 5ada4bf into ARMmbed:master Feb 20, 2019
@blind-owl blind-owl deleted the retire_cellularbase_class branch February 21, 2019 06:45
@SeppoTakalo SeppoTakalo mentioned this pull request Feb 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants