summaryrefslogtreecommitdiff
path: root/ace/RMCast/RMCast_UDP_Proxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/RMCast/RMCast_UDP_Proxy.h')
-rw-r--r--ace/RMCast/RMCast_UDP_Proxy.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/ace/RMCast/RMCast_UDP_Proxy.h b/ace/RMCast/RMCast_UDP_Proxy.h
new file mode 100644
index 00000000000..aa7e08c65be
--- /dev/null
+++ b/ace/RMCast/RMCast_UDP_Proxy.h
@@ -0,0 +1,73 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// ace
+//
+// = FILENAME
+// RMCast_UDP_Proxy.h
+//
+// = AUTHOR
+// Carlos O'Ryan <coryan@uci.edu>
+//
+// ============================================================================
+
+#ifndef ACE_RMCAST_UDP_PROXY_H
+#define ACE_RMCAST_UDP_PROXY_H
+#include "ace/pre.h"
+
+#include "RMCast.h"
+#include "ace/INET_Addr.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class ACE_RMCast_Module;
+class ACE_RMCast_IO_UDP;
+
+class ACE_RMCast_Export ACE_RMCast_UDP_Proxy
+{
+ // = TITLE
+ // Reliable Multicast Sender Ambassador
+ //
+ // = DESCRIPTION
+ // Implement an Ambassador for the reliable multicast senders.
+ //
+public:
+ ACE_RMCast_UDP_Proxy (ACE_RMCast_IO_UDP *io_udp,
+ const ACE_INET_Addr &peer_addr,
+ ACE_RMCast_Module *module);
+ // Constructor
+
+ virtual ~ACE_RMCast_UDP_Proxy (void);
+ // Destructor
+
+ int receive_message (char *buffer, size_t size);
+ // Receive the message
+
+ const ACE_INET_Addr &peer_addr (void) const;
+ // The address of the peer
+
+ ACE_RMCast_Module *module (void) const;
+ // The module
+
+private:
+ ACE_RMCast_IO_UDP *io_udp_;
+ // The IO facade
+
+ ACE_INET_Addr peer_addr_;
+ // The address of the peer
+
+ ACE_RMCast_Module *module_;
+ // Process the data and control messages.
+};
+
+#if defined (__ACE_INLINE__)
+#include "RMCast_UDP_Proxy.i"
+#endif /* __ACE_INLINE__ */
+
+#include "ace/post.h"
+#endif /* ACE_RMCAST_UDP_PROXY_H */