mirror of https://github.com/ARMmbed/mbed-os.git
67 lines
1.6 KiB
Plaintext
67 lines
1.6 KiB
Plaintext
@startuml
|
|
|
|
package "mbed OS Socket abstraction" {
|
|
abstract class MeshInterface -|> NetworkInterface
|
|
|
|
interface NetworkInterface {
|
|
+connect();
|
|
+disconnect();
|
|
+NetworkStack *get_stack();
|
|
}
|
|
|
|
interface NetworkStack
|
|
}
|
|
|
|
package "Nanostack PHY driver interface" {
|
|
interface NanostackPhy {
|
|
+int8_t phy_register()
|
|
+void get_mac_address(uint8_t *mac)
|
|
+void set_mac_address(uint8_t *mac)
|
|
}
|
|
NanostackPhy <|-- abstract class NanostackRfPhy
|
|
NanostackPhy <|-- abstract class NanostackEthernetPhy
|
|
}
|
|
|
|
package "mesh API internals" {
|
|
class NanostackInterface {
|
|
{static} +NanostackInterface *get_stack()
|
|
#socket_open()
|
|
#socket_close()
|
|
#socket_bind()
|
|
#socket_listen()
|
|
#socket_connect()
|
|
#socket_accept()
|
|
#socket_send()
|
|
#socket_recv()
|
|
#socket_sendto()
|
|
#socket_recvfrom()
|
|
#socket_attach()
|
|
#setsockopt()
|
|
#getsockopt()
|
|
}
|
|
NetworkStack <|-- NanostackInterface
|
|
|
|
abstract class MeshInterfaceNanostack {
|
|
+initialize(NanostackPhy *phy)
|
|
+connect()
|
|
+disconnect()
|
|
#NetworkStack *get_stack(void)
|
|
}
|
|
MeshInterface <|-- MeshInterfaceNanostack
|
|
NanostackPhy --o MeshInterfaceNanostack
|
|
MeshInterfaceNanostack -left-> NanostackInterface : get_stack()
|
|
}
|
|
|
|
package "mbed-mesh-api" {
|
|
MeshInterfaceNanostack <|-- LoWPANNDInterface
|
|
MeshInterfaceNanostack <|-- ThreadInterface
|
|
MeshInterfaceNanostack <|-- NanostackEthernetInterface
|
|
}
|
|
|
|
|
|
hide empty members
|
|
hide empty attributes
|
|
hide empty fields
|
|
|
|
@enduml
|