-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Convert Inet::InterfaceId to a class #10979
Conversation
#### Problem The current `#if`+`typedef` requires the actual definition to be visible at every appearance, rather than merely an opaque forward class declaration, which is an obstace to project-chip#7715 _Virtualize System and Inet interfaces_. #### Change overview Convert `InterfaceId` to a class. Some free functions become class methods, and `INET_NULL_INTERFACEID` is replaced by a default-constructed `InterfaceId`. #### Testing CI; no changes to functionality intended.
PR #10979: Size comparison from 596d838 to a9b96b8 Increases above 0.25%:
Increases (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for nrfconnect)
Full report (36 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
Size increase report for "gn_qpg-example-build" from 596d838
Full report output
|
#### Problem It's hard to pick out actual size changes, beyond those called out in the large-increase tables. Report information can be distributed across multiple collapsed tables, since the generator often runs before all builds are complete. #### Change overview Read back any existing comment and merge in new reports. Comments now contain: 1. An open table highlighting large increases, if any. 2. A collapsed table of all increases, if any. 3. A collapsed table of all decreases, if any. 4. A collapsed table of all data. #### Testing Tested with manual runs: project-chip#10979 (comment)
#### Problem It's hard to pick out actual size changes, beyond those called out in the large-increase tables. Report information can be distributed across multiple collapsed tables, since the generator often runs before all builds are complete. #### Change overview Read back any existing comment and merge in new reports. Comments now contain: 1. An open table highlighting large increases, if any. 2. A collapsed table of all increases, if any. 3. A collapsed table of all decreases, if any. 4. A collapsed table of all data. #### Testing Tested with manual runs: #10979 (comment)
Size increase report for "nrfconnect-example-build" from 596d838
Full report output
|
Size increase report for "esp32-example-build" from 596d838
Full report output
|
PR #10979: Size comparison from 596d838 to 2a45313 36 builds (for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #10979: Size comparison from 596d838 to dc615cd Increases (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (5 builds for linux, nrfconnect)
Full report (36 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
fast track: refactor without functionality change. A large amount of changes were within unit tests and CI test coverage should be quite extensive for this. |
#### Problem It's hard to pick out actual size changes, beyond those called out in the large-increase tables. Report information can be distributed across multiple collapsed tables, since the generator often runs before all builds are complete. #### Change overview Read back any existing comment and merge in new reports. Comments now contain: 1. An open table highlighting large increases, if any. 2. A collapsed table of all increases, if any. 3. A collapsed table of all decreases, if any. 4. A collapsed table of all data. #### Testing Tested with manual runs: project-chip#10979 (comment)
* Convert Inet::InterfaceId to a class #### Problem The current `#if`+`typedef` requires the actual definition to be visible at every appearance, rather than merely an opaque forward class declaration, which is an obstace to project-chip#7715 _Virtualize System and Inet interfaces_. #### Change overview Convert `InterfaceId` to a class. Some free functions become class methods, and `INET_NULL_INTERFACEID` is replaced by a default-constructed `InterfaceId`. #### Testing CI; no changes to functionality intended. * add InterfaceId::Null() * replace strcpy()
* Convert Inet::InterfaceId to a class #### Problem The current `#if`+`typedef` requires the actual definition to be visible at every appearance, rather than merely an opaque forward class declaration, which is an obstace to project-chip#7715 _Virtualize System and Inet interfaces_. #### Change overview Convert `InterfaceId` to a class. Some free functions become class methods, and `INET_NULL_INTERFACEID` is replaced by a default-constructed `InterfaceId`. #### Testing CI; no changes to functionality intended. * add InterfaceId::Null() * replace strcpy()
* Convert Inet::InterfaceId to a class #### Problem The current `#if`+`typedef` requires the actual definition to be visible at every appearance, rather than merely an opaque forward class declaration, which is an obstace to project-chip#7715 _Virtualize System and Inet interfaces_. #### Change overview Convert `InterfaceId` to a class. Some free functions become class methods, and `INET_NULL_INTERFACEID` is replaced by a default-constructed `InterfaceId`. #### Testing CI; no changes to functionality intended. * add InterfaceId::Null() * replace strcpy()
Problem
The current
#if
+typedef
requires the actual definition to be visibleat every appearance, rather than merely an opaque forward class declaration,
which is an obstace to #7715 Virtualize System and Inet interfaces.
Change overview
Convert
InterfaceId
to a class. Some free functions become class methods,and
INET_NULL_INTERFACEID
is replaced by a default-constructedInterfaceId
.Testing
CI; no changes to functionality intended.