Commit Graph

6 Commits (a40c23d2147df1f5a6fe135ac4cf3e75f93a42e7)

Author SHA1 Message Date
Christopher Haster a40c23d214 Adopted the nsapi_socket_t type in lwip 2016-07-22 02:02:38 -05:00
Christopher Haster f49aa238d2 Adopted nsapi header in lwip 2016-07-22 02:02:38 -05:00
Christopher Haster c412a0cfde Adopted SingletonPtr to avoid vtable leak in lwip
Globally declared C++ classes with vtables are not gced by current
toolchains, even if the C++ class contains no member variables and
no constructor. This causes all of lwip to be dragged into resulting
binaries, even if lwip is not accessed.

Adoption of the SingletonPtr class in lwip allows us to workaround
this issue.
2016-07-22 02:02:38 -05:00
Christopher Haster 3b20e4b8f3 Moved to static declaration of LWIPStack and refactored a bit
- Renamed LWIPInterface to LWIPStack
- Moved LWIPStack to static declaration
- Removed hidden comments
- Reduced lwip includes
2016-07-22 02:02:38 -05:00
Christopher Haster 004750be26 Move to lwip netconn api to correctly synchronize multiple threads
- lwip socket api did not provide signaling mechanism compatible with
  mutliple stacks
- lwip raw api did not support multiple threads

The netconn api provides the necessary signalling mechanism while still
supporting multiple threads. The netconn api also shares several design
similarities to the current socket api.

Additionally, the move to a higher-level api reduced implementation
complexity significantly and will hopefully reduce integration
difficulties
2016-07-22 02:02:38 -05:00
Russ Butler 35ca7d108a Separate interface from stack for ethernet
Refactor LWIPInterface so it is a NetworkInterface rather than a
NetworkStack.  Rename LWIPInterface to EthernetInterface since it
is no longer a stack.  Update tests to use this new name.
2016-07-22 02:02:37 -05:00