summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/AVStreams/Latency/pong.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/AVStreams/Latency/pong.h')
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Latency/pong.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/Latency/pong.h b/TAO/orbsvcs/tests/AVStreams/Latency/pong.h
new file mode 100644
index 00000000000..5390bec5391
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Latency/pong.h
@@ -0,0 +1,74 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Latency
+//
+// = FILENAME
+// ping.h
+//
+// = AUTHOR
+// Carlos O'Ryan
+//
+// ============================================================================
+
+#ifndef TAO_PONG_H
+#define TAO_PONG_H
+
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Policy.h"
+#include "orbsvcs/AV/Flows_T.h"
+#include "ace/Stats.h"
+
+class Pong_Recv_Callback : public TAO_AV_Callback
+{
+public:
+ virtual int handle_stop (void);
+ virtual int receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *frame_info = 0,
+ const ACE_Addr &peer_address = ACE_Addr::sap_any);
+ virtual int handle_destroy (void);
+};
+
+class Pong_Recv : public TAO_FlowConsumer
+{
+public:
+ Pong_Recv (void);
+
+ virtual int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+
+private:
+ Pong_Recv_Callback callback_;
+ // The callback object...
+};
+
+class Ping_Send_Callback : public TAO_AV_Callback
+{
+public:
+
+ virtual int handle_timeout (void *arg);
+ virtual int handle_end_stream (void);
+ virtual void get_timeout (ACE_Time_Value *&tv,
+ void *&arg);
+};
+
+class Ping_Send : public TAO_FlowProducer
+{
+public:
+ Ping_Send (void);
+ virtual int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+
+private:
+ Ping_Send_Callback callback_;
+ // The callback object...
+};
+
+typedef TAO_AV_Endpoint_Reactive_Strategy_A <TAO_StreamEndPoint_A,TAO_VDev,AV_Null_MediaCtrl> Reactive_Strategy;
+
+typedef TAO_FDev<TAO_FlowProducer,Pong_Recv> Pong_Recv_FDev;
+typedef TAO_FDev<Ping_Send,TAO_FlowConsumer> Ping_Send_FDev;
+
+#endif /* TAO_PONG_H */