summaryrefslogtreecommitdiff
path: root/src/pgm_sender.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pgm_sender.hpp')
-rw-r--r--src/pgm_sender.hpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/pgm_sender.hpp b/src/pgm_sender.hpp
index 23a53bc..6d3ae31 100644
--- a/src/pgm_sender.hpp
+++ b/src/pgm_sender.hpp
@@ -33,7 +33,7 @@
#include "i_engine.hpp"
#include "options.hpp"
#include "pgm_socket.hpp"
-#include "zmq_encoder.hpp"
+#include "encoder.hpp"
namespace zmq
{
@@ -49,19 +49,27 @@ namespace zmq
int init (bool udp_encapsulation_, const char *network_);
// i_engine interface implementation.
- void plug (struct i_inout *inout_);
+ void plug (class io_thread_t *io_thread_, struct i_inout *inout_);
void unplug ();
- void revive ();
- void resume_input ();
+ void terminate ();
+ void activate_in ();
+ void activate_out ();
// i_poll_events interface implementation.
void in_event ();
void out_event ();
+ void timer_event (int token);
private:
+ // TX and RX timeout timer ID's.
+ enum {tx_timer_id = 0xa0, rx_timer_id = 0xa1};
+
+ // Timers are running.
+ bool has_tx_timer, has_rx_timer;
+
// Message encoder.
- zmq_encoder_t encoder;
+ encoder_t encoder;
// PGM socket.
pgm_socket_t pgm_socket;