summaryrefslogtreecommitdiffstats
path: root/include/Client.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/Client.hpp')
-rw-r--r--include/Client.hpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/include/Client.hpp b/include/Client.hpp
index 3848e92..8454fc3 100644
--- a/include/Client.hpp
+++ b/include/Client.hpp
@@ -57,6 +57,7 @@
#include "Settings.hpp"
#include "Timestamp.hpp"
#include "isochronous.hpp"
+#include "iperf_multicast_api.h"
#include "Mutex.h"
/* ------------------------------------------------------------------- */
@@ -82,7 +83,7 @@ public:
void mySockInit(void);
bool isConnected(void) const;
int SendFirstPayload(void);
- int BarrierClient(struct BarrierMutex *);
+ bool BarrierClient(struct BarrierMutex *);
void RunBounceBackTCP(void);
struct ReportHeader *myJob;
@@ -97,8 +98,7 @@ private:
void FinishTrafficActions(void);
void AwaitServerFinPacket(void);
bool InProgress(void);
- void PostNullEvent(void);
- void PostNullEvent(bool isFirst);
+ void PostNullEvent(bool isFirst, bool select_retry);
void AwaitServerCloseEvent(void);
inline void tcp_shutdown(void);
bool connected;
@@ -110,13 +110,14 @@ private:
bool apply_first_udppkt_delay;
int udp_payload_minimum;
void myReportPacket(void);
+ void myReportPacket(struct ReportStruct *);
// TCP plain
void RunTCP(void);
// TCP version which supports rate limiting per -b
void RunRateLimitedTCP(void);
void RunNearCongestionTCP(void);
+ bool AwaitSelectWrite(void);
#if HAVE_DECL_TCP_NOTSENT_LOWAT
- bool AwaitWriteSelectEventTCP(void);
void RunWriteEventsTCP(void);
#endif
// UDP traffic with isochronous and vbr support
@@ -142,6 +143,17 @@ private:
bool mysock_init_done;
bool peerclose;
Timestamp write_start;
+#if HAVE_DECL_SO_MAX_PACING_RATE
+ Timestamp PacingStepTime;
+#endif
+#if HAVE_DECL_TCP_TX_DELAY
+ enum delay_state {NO_DELAY=0, ADD_DELAY};
+ delay_state current_state;
+ int state_tokens[2];
+ inline void apply_txdelay_func (void);
+ Timestamp TcpTxDelayQuantumEnd;
+#endif
+
}; // end class Client
#endif // CLIENT_H