Cleanup ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE, all platforms support it so far as I can...
[ACE_TAO.git] / ACE / protocols / ace / RMCast / Parameters.h
blobbd79e5b6948e78d9207bd657fb21972a2a779427
1 // author : Boris Kolpackov <boris@kolpackov.net>
3 #ifndef ACE_RMCAST_PARAMETERS_H
4 #define ACE_RMCAST_PARAMETERS_H
6 #include "ace/Time_Value.h"
9 namespace ACE_RMCast
11 class Parameters
13 public:
14 Parameters (
15 // Loss and reordering simulator.
17 bool simulator = false,
19 // MTU(1500) - IP-hdr - UDP-hdr
21 unsigned short max_packet_size = 1470,
23 // How often various worker threads wakeup to do
24 // cacellation checks, queue run-throughs, etc.
26 ACE_Time_Value const& tick = ACE_Time_Value (0, 2000),
28 // How long to wait, in ticks, before sending NAK.
30 unsigned long nak_timeout = 1,
32 // How long to wait, in ticks, before sending NRTM.
34 unsigned long nrtm_timeout = 10,
36 // How long to retain a message for retransmission, in ticks.
38 unsigned long retention_timeout = 500, // 1 sec
40 size_t addr_map_size = 50
42 : simulator_ (simulator),
43 max_packet_size_ (max_packet_size),
44 tick_ (tick),
45 nak_timeout_ (nak_timeout),
46 nrtm_timeout_ (nrtm_timeout),
47 retention_timeout_ (retention_timeout),
48 addr_map_size_(addr_map_size)
52 public:
53 bool
54 simulator () const
56 return simulator_;
59 unsigned short
60 max_packet_size () const
62 return max_packet_size_;
65 ACE_Time_Value const&
66 tick () const
68 return tick_;
71 unsigned long
72 nak_timeout () const
74 return nak_timeout_;
77 unsigned long
78 nrtm_timeout () const
80 return nrtm_timeout_;
83 unsigned long
84 retention_timeout () const
86 return retention_timeout_;
89 size_t
90 addr_map_size () const
92 return addr_map_size_;
95 private:
96 bool simulator_;
97 unsigned short max_packet_size_;
98 ACE_Time_Value tick_;
99 unsigned long nak_timeout_;
100 unsigned long nrtm_timeout_;
101 unsigned long retention_timeout_;
102 size_t addr_map_size_;
107 #endif // ACE_RMCAST_PARAMETERS_H