diff --git a/peerconnection/samples/server/data_socket.cc b/peerconnection/samples/server/data_socket.cc index 6abe8c42ec..fa78ca887e 100644 --- a/peerconnection/samples/server/data_socket.cc +++ b/peerconnection/samples/server/data_socket.cc @@ -10,7 +10,6 @@ #include "peerconnection/samples/server/data_socket.h" -#include #include #include #include diff --git a/peerconnection/samples/server/main.cc b/peerconnection/samples/server/main.cc index c1c328deaa..e8db802cf2 100644 --- a/peerconnection/samples/server/main.cc +++ b/peerconnection/samples/server/main.cc @@ -8,7 +8,6 @@ * be found in the AUTHORS file in the root of the source tree. */ -#include #include #include #include @@ -96,7 +95,7 @@ int main(int argc, char** argv) { s->Send("500 Error", true, "text/plain", "", "Peer most likely gone."); } - } else if (member->is_waiting_socket(s)) { + } else if (member->is_wait_request(s)) { // no need to do anything. socket_done = false; } else { diff --git a/peerconnection/samples/server/peer_channel.cc b/peerconnection/samples/server/peer_channel.cc index 3d4dbff256..ef0c89306a 100644 --- a/peerconnection/samples/server/peer_channel.cc +++ b/peerconnection/samples/server/peer_channel.cc @@ -10,7 +10,6 @@ #include "peerconnection/samples/server/peer_channel.h" -#include #include #include #include @@ -33,6 +32,16 @@ // at this point it is not working correctly in some popular browsers. static const char kPeerIdHeader[] = "Pragma: "; +static const char* kRequestPaths[] = { + "/wait", "/sign_out", "/message", +}; + +enum RequestPathIndex { + kWait, + kSignOut, + kMessage, +}; + // // ChannelMember // @@ -54,6 +63,10 @@ ChannelMember::ChannelMember(DataSocket* socket) ChannelMember::~ChannelMember() { } +bool ChannelMember::is_wait_request(DataSocket* ds) const { + return ds && ds->PathEquals(kRequestPaths[kWait]); +} + bool ChannelMember::TimedOut() { return waiting_socket_ == NULL && (time(NULL) - timestamp_) > 30; } @@ -157,16 +170,13 @@ ChannelMember* PeerChannel::Lookup(DataSocket* ds) const { if (ds->method() != DataSocket::GET && ds->method() != DataSocket::POST) return NULL; - static const char* kRequests[] = { - "/wait", "/sign_out", "/message", - }; size_t i = 0; - for (; i < ARRAYSIZE(kRequests); ++i) { - if (ds->PathEquals(kRequests[i])) + for (; i < ARRAYSIZE(kRequestPaths); ++i) { + if (ds->PathEquals(kRequestPaths[i])) break; } - if (i == ARRAYSIZE(kRequests)) + if (i == ARRAYSIZE(kRequestPaths)) return NULL; std::string args(ds->request_arguments()); @@ -179,9 +189,9 @@ ChannelMember* PeerChannel::Lookup(DataSocket* ds) const { Members::const_iterator iter = members_.begin(); for (; iter != members_.end(); ++iter) { if (id == (*iter)->id()) { - if (i == 0) // wait + if (i == kWait) (*iter)->SetWaitingSocket(ds); - if (i == 1) // sign_out + if (i == kSignOut) (*iter)->set_disconnected(); return *iter; } diff --git a/peerconnection/samples/server/peer_channel.h b/peerconnection/samples/server/peer_channel.h index f845a85a3b..e881bc9c1b 100644 --- a/peerconnection/samples/server/peer_channel.h +++ b/peerconnection/samples/server/peer_channel.h @@ -29,7 +29,7 @@ class ChannelMember { bool connected() const { return connected_; } int id() const { return id_; } void set_disconnected() { connected_ = false; } - bool is_waiting_socket(DataSocket* ds) const { return waiting_socket_ == ds; } + bool is_wait_request(DataSocket* ds) const; const std::string& name() const { return name_; } bool TimedOut(); diff --git a/peerconnection/samples/server/utils.h b/peerconnection/samples/server/utils.h index 81b8706760..914fcaeca5 100644 --- a/peerconnection/samples/server/utils.h +++ b/peerconnection/samples/server/utils.h @@ -11,6 +11,18 @@ #define PEERCONNECTION_SAMPLES_SERVER_UTILS_H_ #pragma once +#ifndef assert +#ifndef WIN32 +#include +#else +#ifndef NDEBUG +#define assert(expr) ((void)((expr) ? true : __debugbreak())) +#else +#define assert(expr) ((void)0) +#endif // NDEBUG +#endif // WIN32 +#endif // assert + #include #ifndef ARRAYSIZE