Fix OnClose(socket, NO_ERROR) compile error on Linux.
Merge Peerconnection_client_dev with Peerconnection_client. BUG= TEST= Review URL: http://webrtc-codereview.appspot.com/215002 git-svn-id: http://webrtc.googlecode.com/svn/trunk@720 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
1843664f2a
commit
73ba4160f6
@ -291,7 +291,7 @@ bool PeerConnectionClient::ReadIntoBuffer(talk_base::AsyncSocket* socket,
|
||||
socket->Close();
|
||||
// Since we closed the socket, there was no notification delivered
|
||||
// to us. Compensate by letting ourselves know.
|
||||
OnClose(socket, NO_ERROR);
|
||||
OnClose(socket, 0);
|
||||
}
|
||||
} else {
|
||||
// We haven't received everything. Just continue to accept data.
|
||||
|
@ -305,26 +305,27 @@ void Conductor::UIThreadCallback(int msg_id, void* data) {
|
||||
case SEND_MESSAGE_TO_PEER: {
|
||||
LOG(INFO) << "SEND_MESSAGE_TO_PEER";
|
||||
std::string* msg = reinterpret_cast<std::string*>(data);
|
||||
if (client_->IsSendingMessage()) {
|
||||
ASSERT(msg != NULL);
|
||||
if (msg) {
|
||||
// For convenience, we always run the message through the queue.
|
||||
// This way we can be sure that messages are sent to the server
|
||||
// in the same order they were signaled without much hassle.
|
||||
pending_messages_.push_back(msg);
|
||||
} else {
|
||||
if (!msg && !pending_messages_.empty()) {
|
||||
msg = pending_messages_.front();
|
||||
pending_messages_.pop_front();
|
||||
}
|
||||
if (msg) {
|
||||
bool ok = client_->SendToPeer(peer_id_, *msg);
|
||||
if (!ok && peer_id_ != -1) {
|
||||
LOG(LS_ERROR) << "SendToPeer failed";
|
||||
DisconnectFromServer();
|
||||
}
|
||||
delete msg;
|
||||
}
|
||||
|
||||
if (!peer_connection_.get())
|
||||
peer_id_ = -1;
|
||||
}
|
||||
|
||||
if (!pending_messages_.empty() && !client_->IsSendingMessage()) {
|
||||
msg = pending_messages_.front();
|
||||
pending_messages_.pop_front();
|
||||
|
||||
if (!client_->SendToPeer(peer_id_, *msg) && peer_id_ != -1) {
|
||||
LOG(LS_ERROR) << "SendToPeer failed";
|
||||
DisconnectFromServer();
|
||||
}
|
||||
delete msg;
|
||||
}
|
||||
|
||||
if (!peer_connection_.get())
|
||||
peer_id_ = -1;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -289,6 +289,9 @@ bool PeerConnectionClient::ReadIntoBuffer(talk_base::AsyncSocket* socket,
|
||||
if (GetHeaderValue(*data, i, kConnection, &should_close) &&
|
||||
should_close.compare("close") == 0) {
|
||||
socket->Close();
|
||||
// Since we closed the socket, there was no notification delivered
|
||||
// to us. Compensate by letting ourselves know.
|
||||
OnClose(socket, 0);
|
||||
}
|
||||
} else {
|
||||
// We haven't received everything. Just continue to accept data.
|
||||
@ -472,7 +475,7 @@ void PeerConnectionClient::OnClose(talk_base::AsyncSocket* socket, int err) {
|
||||
callback_->OnMessageSent(err);
|
||||
}
|
||||
} else {
|
||||
// Failed to connect to the server.
|
||||
LOG(WARNING) << "Failed to connect to the server";
|
||||
Close();
|
||||
callback_->OnDisconnected();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user