diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-02-08 08:33:44 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-02-08 08:33:44 +0000 |
commit | ab82f89dc8fde2725888b2577b6c44f113d3040f (patch) | |
tree | 8a9759f3be81fe4eba3a3d42e82609af907c60a4 /protocols/ace/RMCast/Link.h | |
parent | 1b01c3c7544d1454ced15a8eae026f96758102a8 (diff) | |
download | ATCD-ab82f89dc8fde2725888b2577b6c44f113d3040f.tar.gz |
ChangeLogTag:Tue Feb 8 00:22:48 2005 Ossama Othman <ossama@dre.vanderbilt.edu>unlabeled-1.1.2
Diffstat (limited to 'protocols/ace/RMCast/Link.h')
-rw-r--r-- | protocols/ace/RMCast/Link.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/protocols/ace/RMCast/Link.h b/protocols/ace/RMCast/Link.h new file mode 100644 index 00000000000..e6e66bbbd80 --- /dev/null +++ b/protocols/ace/RMCast/Link.h @@ -0,0 +1,62 @@ +// file : ace/RMCast/Link.h +// author : Boris Kolpackov <boris@kolpackov.net> +// cvs-id : $Id$ + +#ifndef ACE_RMCAST_LINK_H +#define ACE_RMCAST_LINK_H + +#include <ace/SOCK_Dgram.h> +#include <ace/SOCK_Dgram_Mcast.h> + +#include <ace/Thread_Manager.h> + +#include <ace/RMCast/Stack.h> +#include <ace/RMCast/Protocol.h> + +namespace ACE_RMCast +{ + class Link : public Element + { + public: + Link (Address const& addr); + + virtual void + in_start (In_Element* in); + + virtual void + out_start (Out_Element* out); + + virtual void + in_stop (); + + public: + virtual void + send (Message_ptr m); + + private: + virtual void + send_ (Message_ptr m); + + private: + void + recv (); + + static ACE_THR_FUNC_RETURN + recv_thunk (void* obj); + + private: + Address addr_, self_; + ACE_SOCK_Dgram_Mcast rsock_; + ACE_SOCK_Dgram ssock_; + + ACE_Thread_Manager recv_mgr_; + + // Simulator. + // + Message_ptr hold_; + Mutex mutex_; + }; +} + + +#endif // ACE_RMCAST_LINK_H |