Logo Search packages:      
Sourcecode: beepcore-c version File versions  Download package

_wrapper Struct Reference

#include <bp_wrapper_private.h>

List of all members.

Detailed Description

The wrapper instance structure is associated with a single socket for the lifetime of that socket. The code that manages the wrapper instance structure is called the wrapper. Its responsibilities include mapping of channel numbers to profile instances, mapping of URIs to profile registrations, and invoking profiles at the appropriate time as messages arrive on the socket. It also manages input/output threads, profile threads, and locks to prevent conflicts. It manages tuning resets and graceful termination of sessions and controls. Finally, the wrapper indirectly manages any information that is inter-channel in nature, such as the SASL identity, the TLS encryption keys, and any other information a profile might wish to make available to other profiles.

This structure contains a pointer to a linked list of profile registrations, a linked list of profile instances, a socket, TLS information for the socket, SASL identity information, a session structure, a semaphore to serialize access to the session, a linked list of profile instances, a "current mode", a "close session" callback, a set of outstanding channel-zero requests and replies, and so on. The profile implementation author will rarely (if ever) need to examine this structure. It should be treated as an opaque structure, accessed only via the defined API.

Definition at line 70 of file bp_wrapper_private.h.

Public Attributes

struct configobj * appconfig
sem_t callback_lock
int channel_ref_count
sem_t core_lock
BP_HASH_TABLE * error_remembered
void * externalSessionReference
IO_STATE * iostate
bp_slist * lmem
sem_t lock
void(* log )(int, int, char *,...)
char ** offered_profiles
bp_queue * pending_chan0_actions
bp_slist * profile_registration
bp_slist * profile_registration_active
PROFILE_RESPONSE ** profile_responses
unsigned long profile_responses_seq
int qsize
void * reader_writer
struct chan0_msg * remote_greeting
struct session * session
void * session_info
void * sessionContextTable
bp_slist * tuning_instance

The documentation for this struct was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index