#include <errno.h>
-//using namespace application;
using namespace basis;
-//using namespace filesystem;
using namespace loggers;
using namespace mathematics;
using namespace sockets;
using namespace structures;
using namespace textual;
using namespace timely;
-//using namespace unit_test;
#define LOG(to_print) EMERGENCY_LOG(program_wide_logger().get(), astring(to_print))
spocket_tester::spocket_tester(const internet_address &where)
: _where(new internet_address(where)),
_stack(new tcpip_stack),
- _socket(NIL),
- _root_server(NIL),
+ _socket(NULL_POINTER),
+ _root_server(NULL_POINTER),
_raw(new raw_socket)
{
}
ret = _root_server->accept(_socket, false);
if (ret == spocket::OKAY) break;
if (ret != spocket::NO_CONNECTION) break;
- if (!wait) return true; // we accepted at least once.
- time_control::sleep_ms(100);
+ if (!wait) return true; // we tried to accept at least once.
+ time_control::sleep_ms(100); // snooze to avoid slamming with accepts.
}
+
return ret == spocket::OKAY;
}
if (ret != spocket::OKAY) {
if (ret == spocket::NONE_READY) {
if (len != 0) LOG(a_sprintf("supposedly nothing was received (%d bytes)", len));
-/// time_control::sleep_ms(PAUSE_TIME);
_socket->await_readable(PAUSE_TIME);
continue;
} else break;
bool spocket_tester::perform_test(int size, int count,
testing_statistics &stats)
{
-#ifdef DEBUG_SPOCKET_TESTER
- LOG("into perf test");
-#endif
-
// the statics are used to generate our random buffer for sending.
static abyte garbage_buffer[MAXIMUM_WINSOCK_MTU + 1];
static bool garbage_initialized = false;
// if our static buffer full of random stuff was never initialized, we do
// so now. this supports efficiently re-using the tester if desired.
if (!garbage_initialized) {
- LOG("initializing random send buffer.");
// note the less than or equal; we know we have one more byte to fill.
for (int i = 0; i <= MAXIMUM_WINSOCK_MTU; i++)
garbage_buffer[i] = randomizer.inclusive(0, 255);
garbage_initialized = true;
- LOG("random send buffer initialized.");
}
// reset the statistical package.