sandbox / mbed-client

Fork of mbed-client by Christopher Haster

Embed: (wiki syntax)

« Back to documentation index

M2MConnectionHandler Class Reference

M2MConnectionHandler Class Reference

M2MConnectionHandler. More...

#include <m2mconnectionhandler.h>

Public Types

enum  ConnectionError
 

This enum defines an error that can come from socket read and write operation.

More...

Public Member Functions

 M2MConnectionHandler (M2MConnectionObserver &observer, M2MConnectionSecurity *sec, M2MInterface::BindingMode mode, M2MInterface::NetworkStack stack)
 Constructor.
 ~M2MConnectionHandler ()
 Destructor.
bool bind_connection (const uint16_t listen_port)
 This binds the socket connection.
bool resolve_server_address (const String &server_address, const uint16_t server_port, M2MConnectionObserver::ServerType server_type, const M2MSecurity *security)
 This resolves the server address.
bool send_data (uint8_t *data_ptr, uint16_t data_len, sn_nsdl_addr_s *address_ptr)
 Sends data to the connected server.
bool start_listening_for_data ()
 Listens to the incoming data from a remote server.
void stop_listening ()
 Stops listening to the incoming data.
int send_to_socket (const unsigned char *buf, size_t len)
 Sends directly to the socket.
int receive_from_socket (unsigned char *buf, size_t len, uint32_t timeout=0)
 Receives directly from the socket.
void close_connection ()
 Closes the open connection.
void handle_connection_error (int error)
 Error handling for DTLS connectivity.
void set_platform_network_handler (void *handler=NULL)
 Sets the network interface handler that is used by client to connect to a network over IP.

Detailed Description

M2MConnectionHandler.

This class handles the socket connection for the LWM2M Client.

Definition at line 32 of file m2mconnectionhandler.h.


Member Enumeration Documentation

This enum defines an error that can come from socket read and write operation.

Definition at line 40 of file m2mconnectionhandler.h.


Constructor & Destructor Documentation

Destructor.


Member Function Documentation

bool bind_connection ( const uint16_t  listen_port )

This binds the socket connection.

Parameters:
listen_portPort to be listened to for an incoming connection.
Returns:
True if successful, else false.
void close_connection (  )

Closes the open connection.

void handle_connection_error ( int  error )

Error handling for DTLS connectivity.

Parameters:
errorError code from the TLS library.
int receive_from_socket ( unsigned char *  buf,
size_t  len,
uint32_t  timeout = 0 
)

Receives directly from the socket.

This is used by the security classes to receive raw data to be decrypted.

Parameters:
bufBuffer to send.
lenThe length of the buffer.
timeoutTimeout defined from DTLS to wait for blocking receive calls before timing out, by default value is 0.
Returns:
Number of bytes read or negative number if failed.
bool resolve_server_address ( const String &  server_address,
const uint16_t  server_port,
M2MConnectionObserver::ServerType  server_type,
const M2MSecurity security 
)

This resolves the server address.

Output is returned through a callback.

Parameters:
StringThe server address.
uint16_tThe server port.
ServerTypeThe server type to be resolved.
securityThe M2MSecurity object that determines which type of secure connection will be used by the socket.
Returns:
True if address is valid, else false.
bool send_data ( uint8_t *  data_ptr,
uint16_t  data_len,
sn_nsdl_addr_s *  address_ptr 
)

Sends data to the connected server.

Parameters:
data_ptrThe data to be sent.
data_lenThe length of data to be sent.
address_ptrThe address structure to which the data needs to be sent.
Returns:
True if data is sent successfully, else false.
int send_to_socket ( const unsigned char *  buf,
size_t  len 
)

Sends directly to the socket.

This is used by security classes to send the data after it has been encrypted.

Parameters:
bufBuffer to send.
lenThe length of the buffer.
Returns:
Number of bytes sent or -1 if failed.
void set_platform_network_handler ( void *  handler = NULL )

Sets the network interface handler that is used by client to connect to a network over IP.

Parameters:
handlerA network interface handler that is used by client to connect. This API is optional but provides a mechanism for different platforms to manage usage of underlying network interface by client.
bool start_listening_for_data (  )

Listens to the incoming data from a remote server.

Returns:
True if successful, else false.
void stop_listening (  )

Stops listening to the incoming data.