DTNMA Reference Tools v2.0.0 - 9.gaff6489
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
Provide a POSIX datagram socket (AF_UNIX) adapter for AMP messaging. More...
#include "socket.h"
#include "msg.h"
#include "cace/ari/text.h"
#include <cace/util/logging.h>
#include <cace/util/defs.h>
#include <m-bstring.h>
#include <sys/poll.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <signal.h>
#include <strings.h>
#include <unistd.h>
#include <errno.h>
Macros | |
#define | URI_PREFIX "file:" |
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. | |
Provide a POSIX datagram socket (AF_UNIX) adapter for AMP messaging.
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.
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.
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.
[in,out] | state | The state to bind. |
[in] | sock_path | The 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.
void cace_amp_socket_state_unbind | ( | cace_amp_socket_state_t * | state | ) |
Unbind any current socket and remove it if necessary.
[in,out] | state | The 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().