Commit Graph

19 Commits (cd4a521e22d6916f902f11a8a57e35a8fd5aba15)

Author SHA1 Message Date
Christopher Haster cd4a521e22 Fix race condition in socket close 2016-07-21 18:19:21 -05:00
Christopher Haster fc71badb69 Rename Interface -> Stack
NetworkInterface  -> NetworkStack
EthernetInterface -> EthernetStack
WiFiInterface     -> WiFiStack
CellularInterface -> CellularStack
MeshInterface     -> MeshStack
2016-07-21 18:19:21 -05:00
Christopher Haster d36a0b6b88 Revised documentation for Interface classes 2016-07-21 18:19:21 -05:00
Christopher Haster aa2357a836 Revisited documentation for Socket API 2016-07-21 18:19:21 -05:00
Christopher Haster 0ae11b49e8 Removed is_connected function
- Not supported by TCP/UDP protocols
- Uncommon and less useful with proper error handling
2016-07-21 18:19:21 -05:00
Christopher Haster b9d9842846 Revisited documentation for NetworkInterface specific methods 2016-07-21 18:19:21 -05:00
Christopher Haster d84f4be6ed Added support for shortened form ipv6 addresses
supported:
    1.2.3.4
    1:2:3:4:5:6:7:8
    1:2::7:8
    ::

currently not supported:
    1:2:3:4:5:6:1.2.3.4
2016-07-21 18:19:21 -05:00
Christopher Haster 3fa1bb6469 Revised stack specific configurations
Adds the following functions for direct configuration of interface
- (set|get)stackopt
- (set|get)sockopt
2016-07-21 18:19:21 -05:00
Christopher Haster 63725d653c Move bind to Socket
Bind can operate on any IP socket and is not specific to a protocol
2016-07-21 18:19:21 -05:00
Russ Butler aea45c88ce Fix ipv6 addr in SocketAddress
Correctly set and return the ipv6 address.
2016-07-21 18:19:21 -05:00
Christopher Haster 56e11d6709 Added better support for SocketAddress/string addresses/ports 2016-07-21 18:19:21 -05:00
Christopher Haster bd8cbf0fcb Move to SocketAddress in gethostbyname 2016-07-21 18:19:21 -05:00
Christopher Haster 3f08f3957c Added support for storing bytes directly in SocketAddress
Bytes are stored by default, however enough space is allocated in
a SocketAddress to generate the string representation if necessary.

Currently there is no support for shortened addresses
2016-07-21 18:19:20 -05:00
Christopher Haster 1b368cf525 Renamed NetworkInterface create/destroy methods to match Socket methods
- socket_create -> socket_open
- socket_destroy -> socket_close
2016-07-21 18:19:20 -05:00
Christopher Haster dfc1ca4cef Move to single state-change interrupt
Pros
- Easier to implement
- More similar to SIGIO in BDS sockets

Cons
- Less information, but this information had a high risk of being
  faulty/spurious
2016-07-21 18:19:20 -05:00
Christopher Haster a7e6c105b3 Remove shutdown parameter from close call
Pros
- Simplifies interface
- Easier base implementation

Cons
- May need shutdown functionality, in this case shutdown
  can be added as another function in the future
2016-07-21 18:19:20 -05:00
Christopher Haster d38ccb70a6 Add open call as alternative to passing NetworkInterface at construction
Pros
- Allows memory to be statically allocated
- Avoids issues with Thread creation before entering main
- Matches existing APIs such as FunctionPointer and Ticker

Cons
- Does not enforce passing a NetworkInterface
2016-07-21 18:19:20 -05:00
Christopher Haster 4c7992cb24 Matched changes NetworkSocketAPI
Responded to feedback from mbed-client implementation
to introduce a full feature set that should support most
of the use cases for the API.
2016-07-21 18:19:10 -05:00
Bogdan Marinescu 9f668f1a8f Preparing new layout - added net/NetworkSocketAPI
Origin: https://developer.mbed.org/teams/NetworkSocketAPI/code/NetworkSocketAPI/
2016-04-05 16:40:57 +01:00