From 2b3c25d5f2d035582dde3930c7c47301b2e55e7f Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Sat, 28 Jan 2017 12:42:04 -0800 Subject: [PATCH] add a b3Clock::usleep in PhysicsClientUDP to avoid clogging all resources report more meaningful connection status for UDP. --- examples/SharedMemory/PhysicsClientUDP.cpp | 15 ++++++++++----- examples/SharedMemory/PhysicsClientUDP_C_API.cpp | 12 ++++++++++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/examples/SharedMemory/PhysicsClientUDP.cpp b/examples/SharedMemory/PhysicsClientUDP.cpp index b97ba46d5..66c29fbe2 100644 --- a/examples/SharedMemory/PhysicsClientUDP.cpp +++ b/examples/SharedMemory/PhysicsClientUDP.cpp @@ -322,13 +322,10 @@ void UDPThreadFunc(void* userPtr, void* lsMemory) do { + b3Clock::usleep(0); + deltaTimeInSeconds += double(clock.getTimeMicroseconds()) / 1000000.; - if (deltaTimeInSeconds<(1. / 5000.)) - { -// b3Clock::usleep(250); - } - else { clock.reset(); @@ -441,6 +438,10 @@ UdpNetworkedPhysicsProcessor::~UdpNetworkedPhysicsProcessor() bool UdpNetworkedPhysicsProcessor::processCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes) { + if(gVerboseNetworkMessagesClient) + { + printf("PhysicsClientUDP::processCommand\n"); + } // int sz = sizeof(SharedMemoryCommand); int timeout = 1024 * 1024 * 1024; @@ -475,6 +476,10 @@ bool UdpNetworkedPhysicsProcessor::processCommand(const struct SharedMemoryComma bool UdpNetworkedPhysicsProcessor::receiveStatus(struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes) { + if (gVerboseNetworkMessagesClient) + { + printf("UdpNetworkedPhysicsProcessor::receiveStatus\n"); + } bool hasStatus = false; if (m_data->m_hasStatus) { diff --git a/examples/SharedMemory/PhysicsClientUDP_C_API.cpp b/examples/SharedMemory/PhysicsClientUDP_C_API.cpp index 6bde7b203..c0a1adbfc 100644 --- a/examples/SharedMemory/PhysicsClientUDP_C_API.cpp +++ b/examples/SharedMemory/PhysicsClientUDP_C_API.cpp @@ -10,11 +10,19 @@ b3PhysicsClientHandle b3ConnectPhysicsUDP(const char* hostName, int port) UdpNetworkedPhysicsProcessor* udp = new UdpNetworkedPhysicsProcessor(hostName, port); - PhysicsDirect* direct = new PhysicsDirect(udp,true); + PhysicsDirect* direct = new PhysicsDirect(udp, true); bool connected; connected = direct->connect(); - printf("direct!\n"); + if (connected) + { + printf("b3ConnectPhysicsUDP connected successfully.\n"); + } + else + { + printf("b3ConnectPhysicsUDP NOT connected.\n"); + + } return (b3PhysicsClientHandle)direct; }