Public Member Functions | |
DiffusionRouting (u_int16_t port) | |
void | run (bool wait_condition, long max_timeout) |
handle | subscribe (NRAttrVec *subscribe_attrs, NR::Callback *cb) |
int | unsubscribe (handle subscription_handle) |
handle | publish (NRAttrVec *publish_attrs) |
int | unpublish (handle publication_handle) |
int | send (handle publication_handle, NRAttrVec *send_attrs) |
int | sendRmst (handle publication_handle, NRAttrVec *send_attrs, int fragment_size) |
handle | addFilter (NRAttrVec *filter_attrs, u_int16_t priority, FilterCallback *cb) |
int | removeFilter (handle filter_handle) |
int | sendMessage (Message *msg, handle h, u_int16_t priority=FILTER_KEEP_PRIORITY) |
int | addToBlacklist (int32_t node) |
int | clearBlacklist () |
handle | addTimer (int timeout, TimerCallback *callback) |
handle | addTimer (int timeout, void *param, TimerCallbacks *cb) |
bool | removeTimer (handle hdl) |
void | doIt () |
void | doOne (long timeout=WAIT_FOREVER) |
int | interestTimeout (HandleEntry *handle_entry) |
int | filterKeepaliveTimeout (FilterEntry *filter_entry) |
Protected Member Functions | |
void | recvPacket (DiffPacket pkt) |
void | recvMessage (Message *msg) |
void | sendMessageToDiffusion (Message *msg) |
void | sendPacketToDiffusion (DiffPacket pkt, int len, int dst) |
bool | processRmst (Message *msg) |
void | processMessage (Message *msg) |
void | processControlMessage (Message *msg) |
bool | checkSubscription (NRAttrVec *attrs) |
bool | checkPublication (NRAttrVec *attrs) |
bool | checkSend (NRAttrVec *attrs) |
bool | isPushData (NRAttrVec *attrs) |
HandleEntry * | removeHandle (handle my_handle, HandleList *hl) |
HandleEntry * | findHandle (handle my_handle, HandleList *hl) |
FilterEntry * | deleteFilter (handle my_handle) |
FilterEntry * | findFilter (handle my_handle) |
bool | hasScope (NRAttrVec *attrs) |
Protected Attributes | |
Int2RecRmst | rec_rmst_map_ |
int | next_handle_ |
HandleList | pub_list_ |
HandleList | sub_list_ |
FilterList | filter_list_ |
pthread_mutex_t * | dr_mtx_ |
TimerManager * | timers_manager_ |
DeviceList | in_devices_ |
DeviceList | local_out_devices_ |
u_int16_t | diffusion_port_ |
int | pkt_count_ |
int | random_id_ |
u_int16_t | agent_id_ |