22#ifdef SIMULATE_NETWORK_DELAY
24 while (do_receive_datagram(dg)) {
27 return get_delayed(dg);
32 if (get_delayed(dg)) {
37 return do_receive_datagram(dg);
47set_tcp_header_size(
int tcp_header_size) {
48 nassertv(tcp_header_size == 0 || tcp_header_size == 2 || tcp_header_size == 4);
49 _tcp_header_size = tcp_header_size;
56get_tcp_header_size()
const {
57 return _tcp_header_size;
75set_collect_tcp(
bool collect_tcp) {
76 _collect_tcp = collect_tcp;
83get_collect_tcp()
const {
93set_collect_tcp_interval(
double interval) {
94 _collect_tcp_interval = interval;
102INLINE
double SSWriter::
103get_collect_tcp_interval()
const {
104 return _collect_tcp_interval;
113INLINE
void SSWriter::
114set_tcp_header_size(
int tcp_header_size) {
115 nassertv(tcp_header_size == 0 || tcp_header_size == 2 || tcp_header_size == 4);
116 _tcp_header_size = tcp_header_size;
123get_tcp_header_size()
const {
124 return _tcp_header_size;
131INLINE
bool SSWriter::
141 if (elapsed < 0.0 || elapsed >= _collect_tcp_interval) {
153INLINE
bool SSWriter::
163INLINE ISocketStream::
164ISocketStream(std::streambuf *buf) :
std::istream(buf), SSReader(this) {
171INLINE OSocketStream::
172OSocketStream(std::streambuf *buf) :
std::ostream(buf), SSWriter(this) {
179INLINE
bool OSocketStream::
181 return SSWriter::flush();
188SocketStream(std::streambuf *buf) :
std::iostream(buf), SSReader(this), SSWriter(this) {
197INLINE
void SocketStream::
198set_tcp_header_size(
int tcp_header_size) {
199 SSReader::set_tcp_header_size(tcp_header_size);
200 SSWriter::set_tcp_header_size(tcp_header_size);
206INLINE
int SocketStream::
207get_tcp_header_size()
const {
208 return SSReader::get_tcp_header_size();
215INLINE
bool SocketStream::
217 return SSWriter::flush();
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
static TrueClock * get_global_ptr()
Returns a pointer to the one TrueClock object in the world.