Public Member Functions | Protected Member Functions | Protected Attributes

DiffusionRouting Class Reference

Inheritance diagram for DiffusionRouting:

List of all members.

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)
HandleEntryremoveHandle (handle my_handle, HandleList *hl)
HandleEntryfindHandle (handle my_handle, HandleList *hl)
FilterEntrydeleteFilter (handle my_handle)
FilterEntryfindFilter (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_
DeviceList in_devices_
DeviceList local_out_devices_
u_int16_t diffusion_port_
int pkt_count_
int random_id_
u_int16_t agent_id_

The documentation for this class was generated from the following files: