ARMmbed / sal

mbed C abstract socket API layer
Other
3 stars 16 forks source link

mbed-mesh-api introduces too many dependencies #14

Open bremoran opened 9 years ago

bremoran commented 9 years ago

The socket abstraction layer should not introduce any dependencies which are not critical to implementing a socket API. Currently, mbed-net-socket-abstract has a target dependency on mbed-mesh-api, which introduces this tree:

mbed-mesh-api 0.0.2 yotta_modules/mbed-mesh-api
      ┣─ mbed-6lowpan 0.0.13 yotta_modules/mbed-6lowpan
      ┃ ┣─ mbed-client-c 0.1.6 yotta_modules/mbed-client-c
      ┃ ┣─ coap-service 0.0.6 yotta_modules/coap-service
      ┃ ┣─ mbed-6lowpan-eventloop 0.0.11 yotta_modules/mbed-6lowpan-eventloop
      ┃ ┃ ┗─ mbed-6lowpan-eventloop-adaptor 0.0.14 yotta_modules/mbed-6lowpan-eventloop-adaptor
      ┃ ┣─ mbed-client-randlib 0.0.2 yotta_modules/mbed-client-randlib
      ┃ ┣─ libx509-v3 0.0.2 yotta_modules/libx509-v3
      ┃ ┗─ mbed-client-ecc 0.0.2 yotta_modules/mbed-client-ecc
      ┣─ mbed-6lowpan-adaptor 0.1.0 yotta_modules/mbed-6lowpan-adaptor
      ┗─ mbed-client-libservice 3.0.1 yotta_modules/mbed-client-libservice

The socket abstraction layer should not require coap, mbed-client, ecc support, libx509, etc.

Maybe mbed-6lowpan-adaptor would be a better target dependency for mbed-net-socket-abstract.

artokin commented 9 years ago

@bremoran , yesterday I published mbed-mesh-api v0.0.3 that contains dependencies to mbed-core and mbed-6lowpan-adaptor. Please check if the new version is better.

artokin commented 9 years ago

Another option would be to remove mbed-mesh-api dependency from mbed-net-socket-abstract and let applications have dependency to mbed-mesh-api directly. At the moment application need to use the mbed-mesh-api for connecting to mesh network.

bremoran commented 9 years ago

Since the mbed-mesh-api is not strictly necessary for implementing the socket API, I think it should be removed from the dependency tree of mbed-net-socket-abstract. Likewise, I think it would be a good idea to remove mbed-net-lwip-eth from the dependency tree of mbed-net-lwip. I think it belongs somewhere else, possibly under mbed-net-interface (as yet uncreated), or similar.

rainierwolfcastle commented 9 years ago

ARM Internal Ref: IOTSFW-991