|
SatCat5
|
CoAP client/server implementation that requires POSIX features.
User must define coap_* event handlers (e.g., coap_request).
Definition at line 33 of file coap_posix.h.
#include <coap_posix.h>
Public Member Functions | |
| satcat5::net::Dispatch * | iface () const |
| Fetch the associated network interface. | |
| satcat5::udp::Port | srcport () const |
| For UDP only, query the local port number. | |
| Connection * | find_token (u32 token) const |
| Scan connections for a matching proxy-ID. More... | |
| satcat5::coap::Connection * | get_idle_connection () const |
| Get the first idle connection, or null if all are busy. | |
| void | set_connection (satcat5::coap::Connection *obj) |
| Set the preferred connection for outgoing requests. More... | |
| void | set_filter (const satcat5::net::Type &filter) |
| Set network interface filter. More... | |
| ConnectionUdp * | connection (unsigned idx) |
| Fetch connection object by index. | |
| void | bind (satcat5::udp::Port req_port=satcat5::udp::PORT_COAP) |
| Begin accepting incoming requests on the designated UDP port. | |
| satcat5::coap::ConnectionUdp * | connect (const satcat5::udp::Addr &dstaddr, const satcat5::udp::Port &dstport=satcat5::udp::PORT_COAP, const satcat5::udp::Port &srcport=satcat5::udp::PORT_NONE) |
| Open a connection to the designated remote UDP endpoint. More... | |
| satcat5::eth::Dispatch * | eth () const |
| Pointer to the parent's network interface. | |
| satcat5::ip::Dispatch * | ip () const |
| Pointer to the parent's network interface. | |
| satcat5::udp::Dispatch * | udp () const |
| Pointer to the parent's network interface. | |
Protected Member Functions | |
| EndpointUdpHeap (satcat5::udp::Dispatch *udp, unsigned size) | |
| Constructor binds to the specified UDP interface and immediately allocates each requested Connection object. | |
| void | frame_rcvd (satcat5::io::LimitedRead &src) override |
| Dispatch calls frame_rcvd(...) for each incoming frame with with a matching net::Type value. More... | |
| void | add_connection (Connection *item) |
| void | remove_connection (Connection *item) |
| bool | reply (u8 type, const satcat5::coap::ReadHeader *msg) |
| virtual void | coap_request (Connection *obj, Reader *msg) |
| The Child class overrides these event-handlers: More... | |
| virtual void | coap_response (Connection *obj, Reader *msg) |
| The Child class overrides these event-handlers: More... | |
| virtual void | coap_reqwait (Connection *obj, Reader *msg) |
| The Child class overrides these event-handlers: More... | |
| virtual void | coap_separate (Connection *obj, Reader *msg) |
| The Child class overrides these event-handlers: More... | |
| virtual void | coap_error (Connection *obj) |
| The Child class overrides these event-handlers: More... | |
| virtual void | coap_ping (const Reader *msg) |
| The Child class overrides these event-handlers: More... | |
| virtual void | coap_timeout (Connection *obj) |
| The Child class overrides these event-handlers: More... | |
Protected Attributes | |
| satcat5::net::Dispatch *const | m_iface |
| satcat5::util::List< satcat5::coap::Connection > | m_list |
| satcat5::coap::Connection * | m_prefer |
| satcat5::coap::Endpoint * | m_aux_ep |
| satcat5::net::Type | m_filter |
| Incoming packet filter. | |
| std::vector< ConnectionUdp * > | m_connections |
| Pointers to heap-allocated Connection objects. | |
| satcat5::coap::Endpoint *const | m_endpoint |
| Pointer to the associated Endpoint. | |
Private Attributes | |
| satcat5::net::Protocol * | m_next |
| Linked list of Protocols. | |
|
inlineprotectedvirtualinherited |
The Child class overrides these event-handlers:
Reimplemented in satcat5::coap::ProxyServer, and satcat5::coap::EndpointSppFwd.
Definition at line 106 of file coap_endpoint.h.
|
inlineprotectedvirtualinherited |
The Child class overrides these event-handlers:
Reimplemented in satcat5::coap::EndpointSppFwd.
Definition at line 107 of file coap_endpoint.h.
|
inlineprotectedvirtualinherited |
The Child class overrides these event-handlers:
Reimplemented in satcat5::coap::ResourceServer, and satcat5::coap::EndpointSppFwd.
Definition at line 101 of file coap_endpoint.h.
|
inlineprotectedvirtualinherited |
The Child class overrides these event-handlers:
Reimplemented in satcat5::coap::ProxyServer.
Definition at line 104 of file coap_endpoint.h.
|
inlineprotectedvirtualinherited |
The Child class overrides these event-handlers:
Reimplemented in satcat5::coap::SimpleClient, satcat5::coap::ProxyServer, and satcat5::coap::EndpointSppFwd.
Definition at line 103 of file coap_endpoint.h.
|
inlineprotectedvirtualinherited |
The Child class overrides these event-handlers:
Reimplemented in satcat5::coap::ProxyServer.
Definition at line 105 of file coap_endpoint.h.
|
inlineprotectedvirtualinherited |
The Child class overrides these event-handlers:
Definition at line 108 of file coap_endpoint.h.
|
inherited |
Open a connection to the designated remote UDP endpoint.
In most cases, the source port should be left as PORT_NONE, which automatically chooses an unoccupied local port. (Use the returned coap::Connection object to issue requests.)
Definition at line 154 of file coap_endpoint.cc.
|
inherited |
Scan connections for a matching proxy-ID.
Definition at line 40 of file coap_endpoint.cc.
|
overrideprotectedvirtualinherited |
Dispatch calls frame_rcvd(...) for each incoming frame with with a matching net::Type value.
The child class SHOULD read the frame contents from the provided "src" object, which is only valid until the function returns.
To send a reply:
The child class MUST override this method.
Implements satcat5::net::Protocol.
Definition at line 56 of file coap_endpoint.cc.
|
inlineinherited |
Set the preferred connection for outgoing requests.
Usually called indirectly through ManageSpp or ManageUdp.
Definition at line 58 of file coap_endpoint.h.
|
inlineinherited |
Set network interface filter.
Usually called indirectly through ManageSpp or ManageUdp.
Definition at line 63 of file coap_endpoint.h.