Skip to content
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

Collapse IPEndPointBasis into UDPEndPoint #11135

Merged
merged 2 commits into from
Oct 28, 2021

Conversation

kpschoedel
Copy link
Contributor

Problem

For historical reasons, Inet EndPoints have an unnecessarily complicated class hierarchy:

InetLayerBasis
  EndPointBasis
    TCPEndPoint
    IPEndPointBasis
      UDPEndPoint

Change overview

This change moves the contents of IPEndPointBasis into UDPEndPoint.

InetLayerBasis
  EndPointBasis
    TCPEndPoint
    UDPEndPoint

Since comparing moved code in diff format is difficult, this change
explicitly does NOT make any changes to moved code; a followup
will remove redundancies. Transitionally, methods that would have
duplicate names have are prefixed with Ip here.

This is a step toward #7715 Virtualize System and Inet interfaces.

Testing

CI; no changes to functionality.

@github-actions
Copy link

PR #11135: Size comparison from 79fac66 to a9ff92b

Decreases (1 build for qpg)
platform target config section 79fac66 a9ff92b change % change
qpg persistent-storage-app qpg6100+debug (read only) 155244 155236 -8 -0.0
.text 149924 149916 -8 -0.0
Full report (7 builds for k32w, p6, qpg)
platform target config section 79fac66 a9ff92b change % change
k32w lock-app k32w061+debug (read/write) 592980 592980 0 0.0
.bss 69172 69172 0 0.0
.data 1864 1864 0 0.0
.text 516144 516144 0 0.0
shell k32w061+debug (read/write) 425252 425252 0 0.0
.bss 63256 63256 0 0.0
.data 672 672 0 0.0
.text 359620 359620 0 0.0
lighting-app k32w061+se05x+release (read/write) 701024 701024 0 0.0
.bss 78688 78688 0 0.0
.data 1900 1900 0 0.0
.text 614636 614636 0 0.0
p6 lock-app default (read/write) 2169096 2169096 0 0.0
.bss 67168 67168 0 0.0
.data 2416 2416 0 0.0
.heap 963760 963760 0 0.0
.text 1127360 1127360 0 0.0
qpg lighting-app qpg6100+debug (read only) 491224 491224 0 0.0
(read/write) 114144 114144 0 0.0
.bss 51288 51288 0 0.0
.data 1000 1000 0 0.0
.text 485904 485904 0 0.0
lock-app qpg6100+debug (read only) 467556 467556 0 0.0
(read/write) 114140 114140 0 0.0
.bss 50240 50240 0 0.0
.data 956 956 0 0.0
.text 462236 462236 0 0.0
persistent-storage-app qpg6100+debug (read only) 155244 155236 -8 -0.0
(read/write) 114140 114140 0 0.0
.bss 27752 27752 0 0.0
.data 372 372 0 0.0
.text 149924 149916 -8 -0.0

@github-actions
Copy link

github-actions bot commented Oct 28, 2021

PR #11135: Size comparison from 79fac66 to abc291b

Increases (1 build for telink)
platform target config section 79fac66 abc291b change % change
telink lighting-app tlsr9518adk80d text 458068 458070 2 0.0
Decreases (11 builds for efr32, linux, qpg)
platform target config section 79fac66 abc291b change % change
efr32 lighting-app BRD4161A (read only) 737476 737460 -16 -0.0
.text 737468 737452 -16 -0.0
BRD4161A+rpc (read only) 724916 724900 -16 -0.0
.text 724908 724892 -16 -0.0
linux all-clusters-app debug (read only) 1653505 1653185 -320 -0.0
(read/write) 119136 119104 -32 -0.0
.data.rel.ro 61536 61504 -32 -0.1
.rodata 137845 137749 -96 -0.1
.text 1383346 1383170 -176 -0.0
bridge-app debug+rpc (read only) 1282421 1282125 -296 -0.0
(read/write) 85192 85160 -32 -0.0
.data.rel.ro 27368 27336 -32 -0.1
.rodata 110812 110724 -88 -0.1
.text 1076245 1076085 -160 -0.0
chip-tool debug (read only) 4262469 4262181 -288 -0.0
(read/write) 122208 122176 -32 -0.0
.data.rel.ro 97536 97504 -32 -0.0
.rodata 214032 213968 -64 -0.0
.text 3785589 3785413 -176 -0.0
lighting-app debug+rpc (read only) 1541401 1541097 -304 -0.0
(read/write) 102032 102000 -32 -0.0
.data.rel.ro 54448 54416 -32 -0.1
.rodata 128977 128881 -96 -0.1
.text 1279922 1279762 -160 -0.0
ota-provider-app debug (read only) 1238937 1238617 -320 -0.0
(read/write) 67904 67872 -32 -0.0
.data.rel.ro 24616 24584 -32 -0.1
.rodata 110984 110888 -96 -0.1
.text 1031730 1031554 -176 -0.0
ota-requestor-app debug (read only) 1301033 1300713 -320 -0.0
(read/write) 76648 76616 -32 -0.0
.data.rel.ro 25496 25464 -32 -0.1
.rodata 127680 127584 -96 -0.1
.text 1075490 1075314 -176 -0.0
shell debug (read only) 787361 787089 -272 -0.0
(read/write) 57792 57760 -32 -0.1
.data.rel.ro 36880 36848 -32 -0.1
.rodata 77519 77455 -64 -0.1
.text 608258 608098 -160 -0.0
tv-app debug (read only) 1774529 1774209 -320 -0.0
(read/write) 289656 289624 -32 -0.0
.data.rel.ro 58704 58672 -32 -0.1
.rodata 154776 154680 -96 -0.1
.text 1477442 1477266 -176 -0.0
qpg persistent-storage-app qpg6100+debug (read only) 155244 155236 -8 -0.0
.text 149924 149916 -8 -0.0
Full report (20 builds for efr32, k32w, linux, p6, qpg, telink)
platform target config section 79fac66 abc291b change % change
efr32 lighting-app BRD4161A (read only) 737476 737460 -16 -0.0
(read/write) 115428 115428 0 0.0
.bss 113676 113676 0 0.0
.data 1752 1752 0 0.0
.text 737468 737452 -16 -0.0
BRD4161A+rpc (read only) 724916 724900 -16 -0.0
(read/write) 132032 132032 0 0.0
.bss 130180 130180 0 0.0
.data 1852 1852 0 0.0
.text 724908 724892 -16 -0.0
lock-app BRD4161A (read only) 716756 716756 0 0.0
(read/write) 113244 113244 0 0.0
.bss 111532 111532 0 0.0
.data 1712 1712 0 0.0
.text 716748 716748 0 0.0
window-app BRD4161A (read only) 717660 717660 0 0.0
(read/write) 113568 113568 0 0.0
.bss 111852 111852 0 0.0
.data 1716 1716 0 0.0
.text 717652 717652 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 701024 701024 0 0.0
.bss 78688 78688 0 0.0
.data 1900 1900 0 0.0
.text 614636 614636 0 0.0
lock-app k32w061+debug (read/write) 592980 592980 0 0.0
.bss 69172 69172 0 0.0
.data 1864 1864 0 0.0
.text 516144 516144 0 0.0
shell k32w061+debug (read/write) 425252 425252 0 0.0
.bss 63256 63256 0 0.0
.data 672 672 0 0.0
.text 359620 359620 0 0.0
linux all-clusters-app debug (read only) 1653505 1653185 -320 -0.0
(read/write) 119136 119104 -32 -0.0
.bss 51376 51376 0 0.0
.data 978 978 0 0.0
.data.rel.ro 61536 61504 -32 -0.1
.dynamic 592 592 0 0.0
.got 4088 4088 0 0.0
.init 27 27 0 0.0
.init_array 520 520 0 0.0
.rodata 137845 137749 -96 -0.1
.text 1383346 1383170 -176 -0.0
bridge-app debug+rpc (read only) 1282421 1282125 -296 -0.0
(read/write) 85192 85160 -32 -0.0
.bss 51856 51856 0 0.0
.data 976 976 0 0.0
.data.rel.ro 27368 27336 -32 -0.1
.dynamic 592 592 0 0.0
.got 3952 3952 0 0.0
.init 27 27 0 0.0
.init_array 400 400 0 0.0
.rodata 110812 110724 -88 -0.1
.text 1076245 1076085 -160 -0.0
chip-tool debug (read only) 4262469 4262181 -288 -0.0
(read/write) 122208 122176 -32 -0.0
.bss 17680 17680 0 0.0
.data 1584 1584 0 0.0
.data.rel.ro 97536 97504 -32 -0.0
.dynamic 592 592 0 0.0
.got 4368 4368 0 0.0
.init 27 27 0 0.0
.init_array 424 424 0 0.0
.rodata 214032 213968 -64 -0.0
.text 3785589 3785413 -176 -0.0
lighting-app debug+rpc (read only) 1541401 1541097 -304 -0.0
(read/write) 102032 102000 -32 -0.0
.bss 41208 41208 0 0.0
.data 1106 1106 0 0.0
.data.rel.ro 54448 54416 -32 -0.1
.dynamic 608 608 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 528 528 0 0.0
.rodata 128977 128881 -96 -0.1
.text 1279922 1279762 -160 -0.0
ota-provider-app debug (read only) 1238937 1238617 -320 -0.0
(read/write) 67904 67872 -32 -0.0
.bss 37440 37440 0 0.0
.data 752 752 0 0.0
.data.rel.ro 24616 24584 -32 -0.1
.dynamic 592 592 0 0.0
.got 4016 4016 0 0.0
.init 27 27 0 0.0
.init_array 440 440 0 0.0
.rodata 110984 110888 -96 -0.1
.text 1031730 1031554 -176 -0.0
ota-requestor-app debug (read only) 1301033 1300713 -320 -0.0
(read/write) 76648 76616 -32 -0.0
.bss 45216 45216 0 0.0
.data 816 816 0 0.0
.data.rel.ro 25496 25464 -32 -0.1
.dynamic 592 592 0 0.0
.got 3984 3984 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 127680 127584 -96 -0.1
.text 1075490 1075314 -176 -0.0
shell debug (read only) 787361 787089 -272 -0.0
(read/write) 57792 57760 -32 -0.1
.bss 16168 16168 0 0.0
.data 242 242 0 0.0
.data.rel.ro 36880 36848 -32 -0.1
.dynamic 592 592 0 0.0
.got 3528 3528 0 0.0
.init 27 27 0 0.0
.init_array 336 336 0 0.0
.rodata 77519 77455 -64 -0.1
.text 608258 608098 -160 -0.0
tv-app debug (read only) 1774529 1774209 -320 -0.0
(read/write) 289656 289624 -32 -0.0
.bss 223280 223280 0 0.0
.data 2032 2032 0 0.0
.data.rel.ro 58704 58672 -32 -0.1
.dynamic 592 592 0 0.0
.got 4408 4408 0 0.0
.init 27 27 0 0.0
.init_array 608 608 0 0.0
.rodata 154776 154680 -96 -0.1
.text 1477442 1477266 -176 -0.0
p6 lock-app default (read/write) 2169096 2169096 0 0.0
.bss 67168 67168 0 0.0
.data 2416 2416 0 0.0
.heap 963760 963760 0 0.0
.text 1127360 1127360 0 0.0
qpg lighting-app qpg6100+debug (read only) 491224 491224 0 0.0
(read/write) 114144 114144 0 0.0
.bss 51288 51288 0 0.0
.data 1000 1000 0 0.0
.text 485904 485904 0 0.0
lock-app qpg6100+debug (read only) 467556 467556 0 0.0
(read/write) 114140 114140 0 0.0
.bss 50240 50240 0 0.0
.data 956 956 0 0.0
.text 462236 462236 0 0.0
persistent-storage-app qpg6100+debug (read only) 155244 155236 -8 -0.0
(read/write) 114140 114140 0 0.0
.bss 27752 27752 0 0.0
.data 372 372 0 0.0
.text 149924 149916 -8 -0.0
telink lighting-app tlsr9518adk80d (read/write) 664518 664518 0 0.0
bss 69944 69944 0 0.0
noinit 33216 33216 0 0.0
text 458068 458070 2 0.0

@andy31415
Copy link
Contributor

/rebase

kpschoedel and others added 2 commits October 28, 2021 16:28
#### Problem

For historical reasons, Inet EndPoints have an unnecessarily deep class
hierarchy:

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        IPEndPointBasis
          UDPEndPoint

#### Change overview

This change moves the contents of IPEndPointBasis into UDPEndPoint.

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        UDPEndPoint

Since comparing moved code in diff format is difficult, this change
explicitly does NOT make any changes to moved code; a future change
will remove redundancies. Transitionally, methods that would have
duplicate names have are prefixed with `Ip` here.

This is a step toward project-chip#7715 _Virtualize System and Inet interfaces_.

#### Testing

CI; no changes to functionality.
@woody-apple woody-apple force-pushed the x7715-ipendpointbasis branch from abc291b to 4cd6f43 Compare October 28, 2021 16:28
@andy31415 andy31415 merged commit 52db0e4 into project-chip:master Oct 28, 2021
kpschoedel added a commit to kpschoedel/connectedhomeip that referenced this pull request Oct 28, 2021
#### Problem

PR project-chip#11135 moved code from IPEndPointBasis into UDPEndPoint
without otherwise touching it, leaving various redundancies.

#### Change overview

This change merges corresponding functions, with a small amount of
refactoring of resulting bodies.

This is a step toward project-chip#7715 _Virtualize System and Inet interfaces_.

#### Testing

CI; no changes to functionality.
@kpschoedel kpschoedel deleted the x7715-ipendpointbasis branch October 28, 2021 21:05
kpschoedel added a commit to kpschoedel/connectedhomeip that referenced this pull request Oct 28, 2021
#### Problem

For historical reasons, Inet EndPoints had unnecessarily deep
class hierarchy, originally:

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        IPEndPointBasis
          UDPEndPoint

Previous PRs project-chip#11135 and project-chip#11145 merged `IPEndPointBasis` with `UDPEndPoint`.

#### Change overview

This change merges `InetLayerBasis` with `EndPointBasis`, so that the
EndPoint class hierarchy is now:

    EndPointBasis
      TCPEndPoint
      UDPEndPoint

#### Testing

CI; no changes to functionality.
kpschoedel added a commit to kpschoedel/connectedhomeip that referenced this pull request Oct 29, 2021
#### Problem

For historical reasons, Inet EndPoints had unnecessarily deep
class hierarchy, originally:

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        IPEndPointBasis
          UDPEndPoint

Previous PRs project-chip#11135 and project-chip#11145 merged `IPEndPointBasis` with `UDPEndPoint`.

#### Change overview

This change merges `InetLayerBasis` with `EndPointBasis`, so that the
EndPoint class hierarchy is now:

    EndPointBasis
      TCPEndPoint
      UDPEndPoint

#### Testing

CI; no changes to functionality.
kpschoedel added a commit to kpschoedel/connectedhomeip that referenced this pull request Oct 29, 2021
#### Problem

For historical reasons, Inet EndPoints had unnecessarily deep
class hierarchy, originally:

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        IPEndPointBasis
          UDPEndPoint

Previous PRs project-chip#11135 and project-chip#11145 merged `IPEndPointBasis` with `UDPEndPoint`.

#### Change overview

This change merges `InetLayerBasis` with `EndPointBasis`, so that the
EndPoint class hierarchy is now:

    EndPointBasis
      TCPEndPoint
      UDPEndPoint

#### Testing

CI; no changes to functionality.
andy31415 pushed a commit that referenced this pull request Nov 1, 2021
#### Problem

PR #11135 moved code from IPEndPointBasis into UDPEndPoint
without otherwise touching it, leaving various redundancies.

#### Change overview

This change merges corresponding functions, with a small amount of
refactoring of resulting bodies.

This is a step toward #7715 _Virtualize System and Inet interfaces_.

#### Testing

CI; no changes to functionality.
Damian-Nordic pushed a commit that referenced this pull request Nov 2, 2021
* Collapse InetLayerBasis into EndPointBasis

#### Problem

For historical reasons, Inet EndPoints had unnecessarily deep
class hierarchy, originally:

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        IPEndPointBasis
          UDPEndPoint

Previous PRs #11135 and #11145 merged `IPEndPointBasis` with `UDPEndPoint`.

#### Change overview

This change merges `InetLayerBasis` with `EndPointBasis`, so that the
EndPoint class hierarchy is now:

    EndPointBasis
      TCPEndPoint
      UDPEndPoint

#### Testing

CI; no changes to functionality.

* reorder members to avoid structure size increase on some platforms
PSONALl pushed a commit to PSONALl/connectedhomeip that referenced this pull request Dec 3, 2021
* Collapse IPEndPointBasis into UDPEndPoint

#### Problem

For historical reasons, Inet EndPoints have an unnecessarily deep class
hierarchy:

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        IPEndPointBasis
          UDPEndPoint

#### Change overview

This change moves the contents of IPEndPointBasis into UDPEndPoint.

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        UDPEndPoint

Since comparing moved code in diff format is difficult, this change
explicitly does NOT make any changes to moved code; a future change
will remove redundancies. Transitionally, methods that would have
duplicate names have are prefixed with `Ip` here.

This is a step toward project-chip#7715 _Virtualize System and Inet interfaces_.

#### Testing

CI; no changes to functionality.

* Restyled by clang-format

Co-authored-by: Restyled.io <[email protected]>
PSONALl pushed a commit to PSONALl/connectedhomeip that referenced this pull request Dec 3, 2021
#### Problem

PR project-chip#11135 moved code from IPEndPointBasis into UDPEndPoint
without otherwise touching it, leaving various redundancies.

#### Change overview

This change merges corresponding functions, with a small amount of
refactoring of resulting bodies.

This is a step toward project-chip#7715 _Virtualize System and Inet interfaces_.

#### Testing

CI; no changes to functionality.
PSONALl pushed a commit to PSONALl/connectedhomeip that referenced this pull request Dec 3, 2021
* Collapse InetLayerBasis into EndPointBasis

#### Problem

For historical reasons, Inet EndPoints had unnecessarily deep
class hierarchy, originally:

    InetLayerBasis
      EndPointBasis
        TCPEndPoint
        IPEndPointBasis
          UDPEndPoint

Previous PRs project-chip#11135 and project-chip#11145 merged `IPEndPointBasis` with `UDPEndPoint`.

#### Change overview

This change merges `InetLayerBasis` with `EndPointBasis`, so that the
EndPoint class hierarchy is now:

    EndPointBasis
      TCPEndPoint
      UDPEndPoint

#### Testing

CI; no changes to functionality.

* reorder members to avoid structure size increase on some platforms
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.

5 participants