DTNMA Reference Tools v2.0.0 - 9.gaff6489
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
socket.h File Reference

Provide a POSIX datagram socket (AF_UNIX) adapter for AMP messaging. More...

#include "cace/amm/msg_if.h"
#include "cace/ari.h"
+ Include dependency graph for socket.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  cace_amp_socket_state_t
 State for the socket transport. More...
 

Functions

void cace_amp_socket_state_init (cace_amp_socket_state_t *state)
 Initialize an empty state.
 
void cace_amp_socket_state_deinit (cace_amp_socket_state_t *state)
 Deinitialize any resources.
 
int cace_amp_socket_state_bind (cace_amp_socket_state_t *state, const m_string_t sock_path)
 Bind a unix domain data gram socket to a specific filesystem path.
 
void cace_amp_socket_state_unbind (cace_amp_socket_state_t *state)
 Unbind any current socket and remove it if necessary.
 
int cace_amp_socket_send (const cace_ari_list_t data, const cace_amm_msg_if_metadata_t *meta, void *ctx)
 Provider of cace_amm_msg_if_send_f interface for POSIX socket transport.
 
int cace_amp_socket_recv (cace_ari_list_t data, cace_amm_msg_if_metadata_t *meta, cace_daemon_run_t *running, void *ctx)
 Provider of cace_amm_msg_if_recv_f interface for POSIX socket transport.
 

Detailed Description

Provide a POSIX datagram socket (AF_UNIX) adapter for AMP messaging.

Function Documentation

◆ cace_amp_socket_recv()

int cace_amp_socket_recv ( cace_ari_list_t  data,
cace_amm_msg_if_metadata_t meta,
cace_daemon_run_t running,
void *  ctx 
)

Provider of cace_amm_msg_if_recv_f interface for POSIX socket transport.

The user data for this function is a cace_amp_socket_state_t instance.

References CACE_LOG_DEBUG, CACE_LOG_WARNING, CHKERR1, cace_amp_socket_state_t::sock_fd, and cace_amm_msg_if_metadata_t::src.

◆ cace_amp_socket_send()

int cace_amp_socket_send ( const cace_ari_list_t  data,
const cace_amm_msg_if_metadata_t meta,
void *  ctx 
)

Provider of cace_amm_msg_if_send_f interface for POSIX socket transport.

The user data for this function is a cace_amp_socket_state_t instance.

References cace_ari_text_encode(), CACE_LOG_DEBUG, CACE_LOG_ERR, CACE_LOG_WARNING, CHKERR1, cace_amm_msg_if_metadata_t::dest, cace_data_t::ptr, and cace_amp_socket_state_t::sock_fd.

◆ cace_amp_socket_state_bind()

int cace_amp_socket_state_bind ( cace_amp_socket_state_t state,
const m_string_t  sock_path 
)

Bind a unix domain data gram socket to a specific filesystem path.

Parameters
[in,out]stateThe state to bind.
[in]sock_pathThe file path to bind to.

References cace_amp_socket_state_unbind(), CACE_LOG_DEBUG, CACE_LOG_ERR, CHKERR1, and cace_amp_socket_state_t::sock_fd.

◆ cace_amp_socket_state_unbind()

void cace_amp_socket_state_unbind ( cace_amp_socket_state_t state)

Unbind any current socket and remove it if necessary.

Parameters
[in,out]stateThe state to bind.

References CACE_LOG_DEBUG, CACE_LOG_WARNING, and cace_amp_socket_state_t::sock_fd.

Referenced by cace_amp_socket_state_bind(), and cace_amp_socket_state_deinit().