Go to the source code of this file.
Data Structures | |
struct | _CMformat_list |
Defines | |
#define | CM_FD ATL_CHAR_CONS('C','S','F','D') |
#define | CM_THIS_CONN_PORT ATL_CHAR_CONS('C','S','C','P') |
#define | CM_PEER_CONN_PORT ATL_CHAR_CONS('C','S','P','P') |
#define | CM_PEER_IP ATL_CHAR_CONS('C','P','I','P') |
#define | CM_PEER_LISTEN_PORT ATL_CHAR_CONS('C','S','P','L') |
#define | CM_PEER_HOSTNAME ATL_CHAR_CONS('C','P','H','O') |
#define | CM_IP_HOSTNAME ATL_CHAR_CONS('C','I','P','H') |
#define | CM_IP_ADDR ATL_CHAR_CONS('C','I','P','A') |
#define | CM_IP_PORT ATL_CHAR_CONS('C','I','P','P') |
#define | CM_UDP_PORT ATL_CHAR_CONS('C','U','P','P') |
#define | CM_TRANSPORT ATL_CHAR_CONS('C','T','r','a') |
#define | CM_ATM_ADDRESS ATL_CHAR_CONS('C','A','T','A') |
#define | CM_ATM_SELECTOR ATL_CHAR_CONS('C','A','T','S') |
#define | CM_ATM_BHLI ATL_CHAR_CONS('C','A','T','B') |
#define | CM_ATM_QOS_CLASS ATL_CHAR_CONS('C','A','Q','C') |
#define | CM_ATM_QOS_PCR ATL_CHAR_CONS('C','A','Q','P') |
#define | CM_ATM_QOS_SCR ATL_CHAR_CONS('C','A','Q','S') |
#define | CM_ATM_QOS_MBS ATL_CHAR_CONS('C','A','Q','M') |
#define | CM_ATM_FD ATL_CHAR_CONS('C','A','F','D') |
#define | CM_ATM_REMOTE_ADDRESS ATL_CHAR_CONS('C','A','R','A') |
#define | CM_ATM_REMOTE_SELECTOR ATL_CHAR_CONS('C','A','R','S') |
#define | CM_ATM_REMOTE_BHLI ATL_CHAR_CONS('C','A','R','B') |
#define | CM_ATM_CONN_VPI ATL_CHAR_CONS('C','A','C','V') |
#define | CM_ATM_CONN_VCI ATL_CHAR_CONS('C','A','C','v') |
#define | CM_MTP_HOSTNAME ATL_CHAR_CONS('C','M','H','o') |
#define | CM_MTP_ADDR ATL_CHAR_CONS('C','M','A','d') |
#define | CM_MTP_PORT ATL_CHAR_CONS('C','M','P','o') |
#define | CM_RECV_ERR ATL_CHAR_CONS('C','R','R','E') |
#define | CM_SEND_ERR ATL_CHAR_CONS('C','R','S','E') |
#define | CM_RECV_RATE ATL_CHAR_CONS('C','R','R','R') |
#define | CM_SEND_RATE ATL_CHAR_CONS('C','R','S','R') |
#define | CM_RTSEND_RATE ATL_CHAR_CONS('C','R','R','T') |
#define | CM_QOS ATL_CHAR_CONS('C','Q','O','S') |
#define | CM_WIN_INC ATL_CHAR_CONS('C','R','W','I') |
#define | CM_MAX_SEG ATL_CHAR_CONS('C','R','M','S') |
#define | CM_MARK ATL_CHAR_CONS('C','R','M','a') |
#define | CM_START_ADAPT ATL_CHAR_CONS('C','R','S','A') |
#define | CM_ADAPT_DEGREE ATL_CHAR_CONS('C','R','A','D') |
#define | CM_ADAPT_COND ATL_CHAR_CONS('C','R','A','C') |
Typedefs | |
typedef _CMformat_list | CMFormatRec |
typedef CMFormatRec * | CMFormatList |
typedef _CManager * | CManager |
typedef _CMConnection * | CMConnection |
typedef _CMFormat * | CMFormat |
typedef _CMTaskHandle * | CMTaskHandle |
typedef void(* | CMHandlerFunc )(CManager cm, CMConnection conn, void *message, void *client_data, attr_list attrs) |
typedef void(* | CMPollFunc )(CManager cm, void *client_data) |
typedef void(* | CMCloseHandlerFunc )(CManager cm, CMConnection conn, void *client_data) |
typedef void(* | CMNonCMHandler )(CMConnection conn, int header) |
Functions | |
CManager | CManager_create () |
void | CManager_close (CManager cm) |
int | CMfork_comm_thread (CManager cm) |
int | CMlisten (CManager cm) |
int | CMlisten_specific (CManager cm, attr_list listen_info) |
attr_list | CMget_contact_list (CManager cm) |
int | CMcontact_self_check (CManager cm, attr_list attrs) |
CMConnection | CMget_conn (CManager cm, attr_list contact_list) |
CMConnection | CMinitiate_conn (CManager cm, attr_list contact_list) |
void | CMConnection_close (CMConnection conn) |
void | CMConnection_add_reference (CMConnection conn) |
void | CMconn_register_close_handler (CMConnection conn, CMCloseHandlerFunc func, void *client_data) |
CMFormat | CMregister_format (CManager cm, char *format_name, IOFieldList field_list, CMFormatList subformat_list) |
CMFormat | CMlookup_format (CManager cm, IOFieldList field_list) |
IOContext | CMget_user_type_context (CManager cm) |
void | CMfree_user_type_context (CManager cm, IOContext context) |
IOFormat | CMregister_user_format (CManager cm, IOContext context, char *format_name, IOFieldList field_list, CMFormatList subformat_list) |
IOFormat | CMlookup_user_format (CManager cm, IOFieldList field_list) |
IOFormat | CMget_IOformat_by_name (CManager cm, IOContext context, char *name) |
IOFormat | CMget_format_IOcontext (CManager cm, IOContext context, void *buffer) |
IOFormat * | CMget_subformats_IOcontext (CManager cm, IOContext context, void *buffer) |
void | CMset_conversion_IOcontext (CManager cm, IOContext context, IOFormat format, IOFieldList field_list, int native_struct_size) |
int | CMwrite (CMConnection conn, CMFormat format, void *data) |
int | CMwrite_attr (CMConnection conn, CMFormat format, void *data, attr_list attrs) |
void | CMregister_handler (CMFormat format, CMHandlerFunc handler, void *client_data) |
void * | CMtake_buffer (CManager cm, void *data) |
void | CMreturn_buffer (CManager cm, void *data) |
void | CMregister_non_CM_message_handler (int header, CMNonCMHandler handler) |
void | CMadd_poll (CManager cm, CMPollFunc func, void *client_data) |
CMTaskHandle | CMadd_periodic_task (CManager cm, int period_sec, int period_usec, CMPollFunc func, void *client_data) |
CMTaskHandle | CMadd_delayed_task (CManager cm, int secs, int usecs, CMPollFunc func, void *client_data) |
void | CMremove_task (CMTaskHandle handle) |
void | CMadd_shutdown_task (CManager cm, CMPollFunc func, void *client_data) |
CMTaskHandle | CMadd_periodic (CManager cm, long period, CMPollFunc func, void *client_data) |
void | CMremove_periodic (CMTaskHandle handle) |
void | CMsleep (CManager cm, int secs) |
void | CMusleep (CManager cm, int usecs) |
void | CMpoll_network (CManager cm) |
void | CMrun_network (CManager cm) |
int | CMCondition_get (CManager cm, CMConnection dep) |
int | CMCondition_wait (CManager cm, int condition) |
void | CMCondition_signal (CManager cm, int condition) |
void | CMCondition_set_client_data (CManager cm, int condition, void *client_data) |
void * | CMCondition_get_client_data (CManager cm, int condition) |
int | CMCondition_has_signaled (CManager cm, int condition) |
int | CMCondition_has_failed (CManager cm, int condition) |
void * | CMrealloc (void *ptr, int size) |
void * | CMmalloc (int size) |
void | CMfree (void *ptr) |
long | CMprobe_latency (CMConnection conn, int msg_size, attr_list attrs) |
long | CMprobe_bandwidth (CMConnection conn, int size, attr_list attrs) |
|
A structure to hold Format Name / Field List associations. This is used to associate names with field lists. Together these define a structure that can be composed into larger structures. |
|
A list of CMFormatRec structures. In it's use in CM, a CMFormatList represents the transitive closure of substructures that compose a larger structure. The name/field list entry for each particular format should appear before it is used (in the field lists of later entries). This implies that the first entry has only fields which have atomic data types. |
|
CManager is the root of control flow and message handling in a CM program. CManager is an opaque handle. |
|
CMConnection is a handle to a communications link. CManager is an opaque handle. |
|
CMFormat is a handle to a registered native format. CMFormat is an opaque handle. It is the return value from CMregister_format() and is used both to identify data for writing (in CMwrite() and CMwrite_attr() and to register handlers for incoming data (with CMregister_handler()). |
|
CMTaskHandle is a handle to a delayed or periodic task. |
|
The prototype for a CM data handling function. CM allows application-routines matching this prototype to be registered as data handlers.
|
|
The prototype for a CM polling handler (and others). Functions matching of this prototype can be registered with CMadd_poll(), CMadd_periodic_task(), CMadd_delayed_task() and CMadd_shutdown_task().
|
|
The prototype for a CM connection close handler. Functions matching of this prototype can be registered with CMregister_close_handler().
|
|
The prototype for a non-CM message handler. Functions matching of this prototype can be registered with CMregister_non_CM_message_handler().
|
|
create a CManager. CManager is the root of control flow and message handling in a CM program. |
|
close a CManager the close operation shuts down all connections and causes the termination of any network handling thread.
|
|
fork a thread to handle the network input operations of a CM.
|
|
Tell CM to listen for incoming network connections.
|
|
Tell CM to listen for incoming network connections with specific characteristics.
|
|
get the contact information for this CM. This call returns the set of attributes that define the contact information for the network transports that have performed listen operations.
|
|
check to see if this is contact information for this CM. Since attribute lists are generally opaque, it is not necessarily obvious when you have a set of contract attributes that is actually your own contact list. This call is designed to answer that question.
|
|
acquire a (possibly existing) connection to another CM process.
|
|
initiate connection to another CM process.
|
|
shut down a connection.
|
|
manually increment the reference count of a connection.
|
|
register a function to be called when a connection is closed.
|
|
register a format with CM.
|
|
lookup the CMFormat associated with a particular IOFieldList
|
|
send a message on a connection.
|
|
send a message on a connection with particular attributes.
|
|
register a function to be called when message matching a particular format arrives.
|
|
assume control over a incoming buffer of data. This call is designed to be used inside a CMHandlerFunc. Normally data buffers are recycled and CM only guarantees that the data delivered to a CMHandlerFunc will be valid for the duration of the call. In that circumstance, a handler that wanted to preserve the data for longer than it's own duration (to pass it to a thread or enter it into some other data structure for example) would have to copy the data. To avoid that inefficiency, CMtake_buffer() allows the handler to take control of the buffer holding its incoming data. The buffer will then not be recycled until it is returned to CM with CMreturn_buffer().
|
|
return a buffer of incoming data. This call recycles a data buffer that the application has taken control of through CMtake_buffer().
|
|
register a handler for raw (non-CM) messages. CM, like may other message layers, embeds a unique value in the first 4 bytes of the incoming message to identify it as a CM message. CM actually has several sets of identifying 4-byte values that it recognizes as CM-internal messages. This interface can be used to add to that set to include non-CM messages (such as IIOP, HTTP, etc.).
|
|
add a task (function) to be executed occasionally.
|
|
add a task (function) to be executed with a specified periodicity.
|
|
add a task (function) to be executed at a later time.
|
|
remove a registered periodic or delayed task.
|
|
add a task (function) to be called when the CM is shut down.
|
|
add a task to be executed with a particular periodicity.
|
|
remove a registered periodic task.
|
|
sleep for a given number of seconds. Unlike system sleep() calls, CMsleep() will continue to handle network messages during the sleep time. In particular, if CMsleep is called by the network handler thread or in a single threaded program, then it will enter a network handling loop until the time has elapsed. If called by other than the network handler thread in a multithread application, then it will suspend on a thread condition wait until the time has elapsed.
|
|
sleep for a given number of microseconds. Unlike system sleep() calls, CMusleep() will continue to handle network messages during the sleep time. In particular, if CMusleep is called by the network handler thread or in a single threaded program, then it will enter a network handling loop until the time has elapsed. If called by other than the network handler thread in a multithread application, then it will suspend on a thread condition wait until the time has elapsed.
|
|
handle one round of network events
|
|
handle network events until shutdown.
|
|
allocate a new CM condition value.
|
|
wait for a CM condition value.
|
|
signal a CM condition value.
|
|
set the client_data associated with a condition value.
|
|
get the client_data associated with a condition value.
|
|
test whether or not a particular condition has been signaled.
|
|
test whether or not a particular condition has failed.
|
|
reallocate a chunk of memory
|
|
allocate a chunk of memory
|
|
free a chunk of memory
|