summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorboris <boris@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-03-02 19:34:13 +0000
committerboris <boris@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-03-02 19:34:13 +0000
commita5c6fad017c2a87557f7e125237439449c03198f (patch)
treef937115b682f6fbd235c2a7fded94cfe1d035634
parentee514d6b52f8a3bdd022dfe75816c25a0424e86c (diff)
downloadATCD-a5c6fad017c2a87557f7e125237439449c03198f.tar.gz
ChangeLogTag: Wed Mar 2 21:44:22 2005 Boris Kolpackov <boris@kolpackov.net>
-rw-r--r--ChangeLog17
-rw-r--r--examples/RMCast/Send_Msg/Receiver.cpp2
-rw-r--r--examples/RMCast/Send_Msg/Sender.cpp2
-rw-r--r--protocols/ace/RMCast/Socket.cpp93
-rw-r--r--protocols/ace/RMCast/Socket.h39
-rw-r--r--protocols/ace/RMCast/Stack.h7
6 files changed, 114 insertions, 46 deletions
diff --git a/ChangeLog b/ChangeLog
index 64ecfc29f04..5d44ccfbdb3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+Wed Mar 2 21:44:22 2005 Boris Kolpackov <boris@kolpackov.net>
+
+ * protocols/ace/RMCast/Socket.cpp:
+ * protocols/ace/RMCast/Socket.h: Moved implementation to
+ Socket_Impl. Made Socket delegate all functionality to
+ Socket_Impl. This way I can use all kinds of obfuscated
+ names in Socket_Impl (in order to fight compiler warnings)
+ without affecting end user.
+
+ * protocols/ace/RMCast/Stack.h: Removed export macro from
+ all types declared there.
+
+ * examples/RMCast/Send_Msg/Receiver.cpp:
+ * examples/RMCast/Send_Msg/Sender.cpp: Updated to use
+ ACE_INET_Addr instead of ACE_RMCast::Address (which was
+ just a typedef of ACE_INET_Addr).
+
Wed Mar 2 09:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
* ACE-INSTALL.html:
diff --git a/examples/RMCast/Send_Msg/Receiver.cpp b/examples/RMCast/Send_Msg/Receiver.cpp
index dd8b54676a6..a9fcf692e1e 100644
--- a/examples/RMCast/Send_Msg/Receiver.cpp
+++ b/examples/RMCast/Send_Msg/Receiver.cpp
@@ -27,7 +27,7 @@ ACE_TMAIN (int argc, ACE_TCHAR* argv[])
{
if (argc < 2) throw args ();
- ACE_RMCast::Address addr (argv[1]);
+ ACE_INET_Addr addr (argv[1]);
ACE_RMCast::Socket socket (addr);
diff --git a/examples/RMCast/Send_Msg/Sender.cpp b/examples/RMCast/Send_Msg/Sender.cpp
index f423f5a1aab..7492072a765 100644
--- a/examples/RMCast/Send_Msg/Sender.cpp
+++ b/examples/RMCast/Send_Msg/Sender.cpp
@@ -22,7 +22,7 @@ ACE_TMAIN (int argc, ACE_TCHAR* argv[])
{
if (argc < 2) throw args ();
- ACE_RMCast::Address addr (argv[1]);
+ ACE_INET_Addr addr (argv[1]);
ACE_RMCast::Socket socket (addr);
diff --git a/protocols/ace/RMCast/Socket.cpp b/protocols/ace/RMCast/Socket.cpp
index 8d25bc77295..79c40defd67 100644
--- a/protocols/ace/RMCast/Socket.cpp
+++ b/protocols/ace/RMCast/Socket.cpp
@@ -5,12 +5,61 @@
#include "ace/OS_Memory.h"
#include "ace/OS_NS_string.h"
+#include "ace/Unbounded_Queue.h"
+#include "ace/Thread_Mutex.h"
+#include "ace/Condition_T.h"
+
+#include "Stack.h"
+#include "Protocol.h"
+#include "Bits.h"
+
+#include "Link.h"
+#include "Simulator.h"
+#include "Retransmit.h"
+#include "Acknowledge.h"
+
+
#include "Socket.h"
namespace ACE_RMCast
{
- Socket::
- Socket (Address const& a, bool loop)
+ class Socket_Impl : protected Element
+ {
+ public:
+ ~Socket_Impl ();
+
+ Socket_Impl (Address const& a, bool loop);
+
+ public:
+ void
+ send_ (void const* buf, size_t s);
+
+ size_t
+ recv_ (void* buf, size_t s);
+
+ private:
+ virtual void
+ recv (Message_ptr m);
+
+ private:
+ bool loop_;
+
+ u64 sn_; //@@ lock?
+
+ Mutex mutex_;
+ Condition cond_;
+
+ ACE_Unbounded_Queue<Message_ptr> queue_;
+
+ ACE_Auto_Ptr<Acknowledge> acknowledge_;
+ ACE_Auto_Ptr<Retransmit> retransmit_;
+ ACE_Auto_Ptr<Simulator> simulator_;
+ ACE_Auto_Ptr<Link> link_;
+ };
+
+
+ Socket_Impl::
+ Socket_Impl (Address const& a, bool loop)
: loop_ (loop), sn_ (1), cond_ (mutex_)
{
acknowledge_.reset (new Acknowledge ());
@@ -35,8 +84,8 @@ namespace ACE_RMCast
out_start (acknowledge_.get ());
}
- Socket::
- ~Socket ()
+ Socket_Impl::
+ ~Socket_Impl ()
{
// Stop OUT stack from top to bottom.
//
@@ -56,8 +105,8 @@ namespace ACE_RMCast
}
- void Socket::
- send (void const* buf, size_t s)
+ void Socket_Impl::
+ send_ (void const* buf, size_t s)
{
Message_ptr m (new Message);
@@ -69,8 +118,8 @@ namespace ACE_RMCast
Element::send (m);
}
- size_t Socket::
- recv (void* buf, size_t s)
+ size_t Socket_Impl::
+ recv_ (void* buf, size_t s)
{
Lock l (mutex_);
@@ -88,7 +137,7 @@ namespace ACE_RMCast
return r;
}
- void Socket::
+ void Socket_Impl::
recv (Message_ptr m)
{
if (m->find (Data::id) != 0)
@@ -112,4 +161,30 @@ namespace ACE_RMCast
if (signal) cond_.signal ();
}
}
+
+ // Socket
+ //
+ //
+ Socket::
+ ~Socket ()
+ {
+ }
+
+ Socket::
+ Socket (Address const& a, bool loop)
+ : impl_ (new Socket_Impl (a, loop))
+ {
+ }
+
+ void Socket::
+ send (void const* buf, size_t s)
+ {
+ impl_->send_ (buf, s);
+ }
+
+ size_t Socket::
+ recv (void* buf, size_t s)
+ {
+ return impl_->recv_ (buf, s);
+ }
}
diff --git a/protocols/ace/RMCast/Socket.h b/protocols/ace/RMCast/Socket.h
index 0a125b73d7a..e2631659132 100644
--- a/protocols/ace/RMCast/Socket.h
+++ b/protocols/ace/RMCast/Socket.h
@@ -7,30 +7,23 @@
#ifndef ACE_RMCAST_SOCKET_H
#define ACE_RMCAST_SOCKET_H
-#include "ace/Unbounded_Queue.h"
-#include "ace/Thread_Mutex.h"
-#include "ace/Condition_T.h"
-
-#include "Stack.h"
-#include "Protocol.h"
-#include "Bits.h"
-
-#include "Link.h"
-#include "Simulator.h"
-#include "Retransmit.h"
-#include "Acknowledge.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/INET_Addr.h"
#include "RMCast_Export.h"
namespace ACE_RMCast
{
- class ACE_RMCast_Export Socket : protected Element
+ class Socket_Impl;
+
+ class ACE_RMCast_Export Socket
{
public:
+ virtual
~Socket ();
- Socket (Address const& a, bool loop = true);
+ Socket (ACE_INET_Addr const& a, bool loop = true);
public:
virtual void
@@ -40,23 +33,7 @@ namespace ACE_RMCast
recv (void* buf, size_t s);
private:
- virtual void
- recv (Message_ptr m);
-
- private:
- bool loop_;
-
- u64 sn_; //@@ lock?
-
- Mutex mutex_;
- Condition cond_;
-
- ACE_Unbounded_Queue<Message_ptr> queue_;
-
- ACE_Auto_Ptr<Acknowledge> acknowledge_;
- ACE_Auto_Ptr<Retransmit> retransmit_;
- ACE_Auto_Ptr<Simulator> simulator_;
- ACE_Auto_Ptr<Link> link_;
+ ACE_Auto_Ptr<Socket_Impl> impl_;
};
}
diff --git a/protocols/ace/RMCast/Stack.h b/protocols/ace/RMCast/Stack.h
index 2ddf60d3754..322fe0dc501 100644
--- a/protocols/ace/RMCast/Stack.h
+++ b/protocols/ace/RMCast/Stack.h
@@ -6,11 +6,10 @@
#define ACE_RMCAST_STACK_H
#include "Protocol.h"
-#include "RMCast_Export.h"
namespace ACE_RMCast
{
- struct ACE_RMCast_Export Out_Element
+ struct Out_Element
{
virtual
~Out_Element ();
@@ -31,7 +30,7 @@ namespace ACE_RMCast
};
- struct ACE_RMCast_Export In_Element
+ struct In_Element
{
virtual
~In_Element ();
@@ -52,7 +51,7 @@ namespace ACE_RMCast
};
- struct ACE_RMCast_Export Element : In_Element, Out_Element
+ struct Element : In_Element, Out_Element
{
};
}