Roll webrtc to r5549. Major change in this revision is addition of...

Roll webrtc to r5549. Major change in this revision is addition of PacketOptions structure to every packet sent over network in AsyncPacketSocket::Send methods.

This structure has information about parameters required for packet authentication outside libsrtp.

R=ronghuawu@chromium.org, sergeyu@chromium.org

Review URL: https://codereview.chromium.org/167893002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251548 0039d316-1c4b-4281-b951-d872f2087c98
parent 178277c9
...@@ -54,7 +54,7 @@ vars = { ...@@ -54,7 +54,7 @@ vars = {
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling WebRTC # the commit queue can handle CLs rolling WebRTC
# and V8 without interference from each other. # and V8 without interference from each other.
"webrtc_revision": "5548", "webrtc_revision": "5549",
"jsoncpp_revision": "248", "jsoncpp_revision": "248",
"nss_revision": "246067", "nss_revision": "246067",
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
......
...@@ -78,10 +78,10 @@ class IpcPacketSocket : public talk_base::AsyncPacketSocket, ...@@ -78,10 +78,10 @@ class IpcPacketSocket : public talk_base::AsyncPacketSocket,
virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE; virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE;
virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE; virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE;
virtual int Send(const void *pv, size_t cb, virtual int Send(const void *pv, size_t cb,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int SendTo(const void *pv, size_t cb, virtual int SendTo(const void *pv, size_t cb,
const talk_base::SocketAddress& addr, const talk_base::SocketAddress& addr,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int Close() OVERRIDE; virtual int Close() OVERRIDE;
virtual State GetState() const OVERRIDE; virtual State GetState() const OVERRIDE;
virtual int GetOption(talk_base::Socket::Option option, int* value) OVERRIDE; virtual int GetOption(talk_base::Socket::Option option, int* value) OVERRIDE;
...@@ -243,14 +243,14 @@ talk_base::SocketAddress IpcPacketSocket::GetRemoteAddress() const { ...@@ -243,14 +243,14 @@ talk_base::SocketAddress IpcPacketSocket::GetRemoteAddress() const {
} }
int IpcPacketSocket::Send(const void *data, size_t data_size, int IpcPacketSocket::Send(const void *data, size_t data_size,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
DCHECK_EQ(base::MessageLoop::current(), message_loop_); DCHECK_EQ(base::MessageLoop::current(), message_loop_);
return SendTo(data, data_size, remote_address_, dscp); return SendTo(data, data_size, remote_address_, options);
} }
int IpcPacketSocket::SendTo(const void *data, size_t data_size, int IpcPacketSocket::SendTo(const void *data, size_t data_size,
const talk_base::SocketAddress& address, const talk_base::SocketAddress& address,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
DCHECK_EQ(base::MessageLoop::current(), message_loop_); DCHECK_EQ(base::MessageLoop::current(), message_loop_);
switch (state_) { switch (state_) {
...@@ -297,7 +297,7 @@ int IpcPacketSocket::SendTo(const void *data, size_t data_size, ...@@ -297,7 +297,7 @@ int IpcPacketSocket::SendTo(const void *data, size_t data_size,
const char* data_char = reinterpret_cast<const char*>(data); const char* data_char = reinterpret_cast<const char*>(data);
std::vector<char> data_vector(data_char, data_char + data_size); std::vector<char> data_vector(data_char, data_char + data_size);
client_->SendWithDscp(address_chrome, data_vector, client_->SendWithDscp(address_chrome, data_vector,
static_cast<net::DiffServCodePoint>(dscp)); static_cast<net::DiffServCodePoint>(options.dscp));
// Fake successful send. The caller ignores result anyway. // Fake successful send. The caller ignores result anyway.
return data_size; return data_size;
......
...@@ -76,9 +76,9 @@ int TransportChannelSocketAdapter::Write( ...@@ -76,9 +76,9 @@ int TransportChannelSocketAdapter::Write(
} }
int result; int result;
talk_base::PacketOptions options;
if (channel_->writable()) { if (channel_->writable()) {
result = channel_->SendPacket(buffer->data(), buffer_size, result = channel_->SendPacket(buffer->data(), buffer_size, options);
talk_base::DSCP_NO_CHANGE);
if (result < 0) { if (result < 0) {
result = net::MapSystemError(channel_->GetError()); result = net::MapSystemError(channel_->GetError());
...@@ -172,9 +172,10 @@ void TransportChannelSocketAdapter::OnWritableState( ...@@ -172,9 +172,10 @@ void TransportChannelSocketAdapter::OnWritableState(
DCHECK_EQ(base::MessageLoop::current(), message_loop_); DCHECK_EQ(base::MessageLoop::current(), message_loop_);
// Try to send the packet if there is a pending write. // Try to send the packet if there is a pending write.
if (!write_callback_.is_null()) { if (!write_callback_.is_null()) {
talk_base::PacketOptions options;
int result = channel_->SendPacket(write_buffer_->data(), int result = channel_->SendPacket(write_buffer_->data(),
write_buffer_size_, write_buffer_size_,
talk_base::DSCP_NO_CHANGE); options);
if (result < 0) if (result < 0)
result = net::MapSystemError(channel_->GetError()); result = net::MapSystemError(channel_->GetError());
......
...@@ -36,7 +36,7 @@ class MockTransportChannel : public cricket::TransportChannel { ...@@ -36,7 +36,7 @@ class MockTransportChannel : public cricket::TransportChannel {
MOCK_METHOD4(SendPacket, int(const char* data, MOCK_METHOD4(SendPacket, int(const char* data,
size_t len, size_t len,
talk_base::DiffServCodePoint dscp, const talk_base::PacketOptions& options,
int flags)); int flags));
MOCK_METHOD2(SetOption, int(talk_base::Socket::Option opt, int value)); MOCK_METHOD2(SetOption, int(talk_base::Socket::Option opt, int value));
MOCK_METHOD0(GetError, int()); MOCK_METHOD0(GetError, int());
...@@ -111,8 +111,7 @@ TEST_F(TransportChannelSocketAdapterTest, ReadClose) { ...@@ -111,8 +111,7 @@ TEST_F(TransportChannelSocketAdapterTest, ReadClose) {
TEST_F(TransportChannelSocketAdapterTest, Write) { TEST_F(TransportChannelSocketAdapterTest, Write) {
scoped_refptr<IOBuffer> buffer(new IOBuffer(kTestDataSize)); scoped_refptr<IOBuffer> buffer(new IOBuffer(kTestDataSize));
EXPECT_CALL(channel_, SendPacket(buffer->data(), kTestDataSize, EXPECT_CALL(channel_, SendPacket(buffer->data(), kTestDataSize, _, 0))
talk_base::DSCP_NO_CHANGE, 0))
.WillOnce(Return(kTestDataSize)); .WillOnce(Return(kTestDataSize));
int result = target_->Write(buffer.get(), kTestDataSize, callback_); int result = target_->Write(buffer.get(), kTestDataSize, callback_);
...@@ -124,8 +123,7 @@ TEST_F(TransportChannelSocketAdapterTest, Write) { ...@@ -124,8 +123,7 @@ TEST_F(TransportChannelSocketAdapterTest, Write) {
TEST_F(TransportChannelSocketAdapterTest, WritePending) { TEST_F(TransportChannelSocketAdapterTest, WritePending) {
scoped_refptr<IOBuffer> buffer(new IOBuffer(kTestDataSize)); scoped_refptr<IOBuffer> buffer(new IOBuffer(kTestDataSize));
EXPECT_CALL(channel_, SendPacket(buffer->data(), kTestDataSize, EXPECT_CALL(channel_, SendPacket(buffer->data(), kTestDataSize, _, 0))
talk_base::DSCP_NO_CHANGE, 0))
.Times(1) .Times(1)
.WillOnce(Return(SOCKET_ERROR)); .WillOnce(Return(SOCKET_ERROR));
......
...@@ -35,14 +35,14 @@ talk_base::SocketAddress FakeUDPPacketSocket::GetRemoteAddress() const { ...@@ -35,14 +35,14 @@ talk_base::SocketAddress FakeUDPPacketSocket::GetRemoteAddress() const {
} }
int FakeUDPPacketSocket::Send(const void *data, size_t data_size, int FakeUDPPacketSocket::Send(const void *data, size_t data_size,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
DCHECK(CalledOnValidThread()); DCHECK(CalledOnValidThread());
return SendTo(data, data_size, remote_address_, dscp); return SendTo(data, data_size, remote_address_, options);
} }
int FakeUDPPacketSocket::SendTo(const void *data, size_t data_size, int FakeUDPPacketSocket::SendTo(const void *data, size_t data_size,
const talk_base::SocketAddress& address, const talk_base::SocketAddress& address,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
DCHECK(CalledOnValidThread()); DCHECK(CalledOnValidThread());
if (state_ == IS_CLOSED) { if (state_ == IS_CLOSED) {
......
...@@ -39,10 +39,10 @@ class FakeUDPPacketSocket : public talk_base::AsyncPacketSocket, ...@@ -39,10 +39,10 @@ class FakeUDPPacketSocket : public talk_base::AsyncPacketSocket,
virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE; virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE;
virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE; virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE;
virtual int Send(const void *pv, size_t cb, virtual int Send(const void *pv, size_t cb,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int SendTo(const void *pv, size_t cb, virtual int SendTo(const void *pv, size_t cb,
const talk_base::SocketAddress& addr, const talk_base::SocketAddress& addr,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int Close() OVERRIDE; virtual int Close() OVERRIDE;
virtual State GetState() const OVERRIDE; virtual State GetState() const OVERRIDE;
virtual int GetOption(talk_base::Socket::Option opt, int* value) OVERRIDE; virtual int GetOption(talk_base::Socket::Option opt, int* value) OVERRIDE;
......
...@@ -41,11 +41,11 @@ class UdpPacketSocket : public talk_base::AsyncPacketSocket { ...@@ -41,11 +41,11 @@ class UdpPacketSocket : public talk_base::AsyncPacketSocket {
virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE; virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE;
virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE; virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE;
virtual int Send(const void* data, size_t data_size, virtual int Send(const void* data, size_t data_size,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int SendTo(const void* data, virtual int SendTo(const void* data,
size_t data_size, size_t data_size,
const talk_base::SocketAddress& address, const talk_base::SocketAddress& address,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int Close() OVERRIDE; virtual int Close() OVERRIDE;
virtual State GetState() const OVERRIDE; virtual State GetState() const OVERRIDE;
virtual int GetOption(talk_base::Socket::Option opt, int* value) OVERRIDE; virtual int GetOption(talk_base::Socket::Option opt, int* value) OVERRIDE;
...@@ -193,7 +193,7 @@ talk_base::SocketAddress UdpPacketSocket::GetRemoteAddress() const { ...@@ -193,7 +193,7 @@ talk_base::SocketAddress UdpPacketSocket::GetRemoteAddress() const {
} }
int UdpPacketSocket::Send(const void* data, size_t data_size, int UdpPacketSocket::Send(const void* data, size_t data_size,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
// UDP sockets are not connected - this method should never be called. // UDP sockets are not connected - this method should never be called.
NOTREACHED(); NOTREACHED();
return EWOULDBLOCK; return EWOULDBLOCK;
...@@ -202,7 +202,7 @@ int UdpPacketSocket::Send(const void* data, size_t data_size, ...@@ -202,7 +202,7 @@ int UdpPacketSocket::Send(const void* data, size_t data_size,
int UdpPacketSocket::SendTo(const void* data, int UdpPacketSocket::SendTo(const void* data,
size_t data_size, size_t data_size,
const talk_base::SocketAddress& address, const talk_base::SocketAddress& address,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
if (state_ != STATE_BOUND) { if (state_ != STATE_BOUND) {
// TODO(sergeyu): StunPort may try to send stun request before we // TODO(sergeyu): StunPort may try to send stun request before we
// are bound. Fix that problem and change this to DCHECK. // are bound. Fix that problem and change this to DCHECK.
......
...@@ -47,10 +47,10 @@ class UdpPacketSocket : public talk_base::AsyncPacketSocket { ...@@ -47,10 +47,10 @@ class UdpPacketSocket : public talk_base::AsyncPacketSocket {
virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE; virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE;
virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE; virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE;
virtual int Send(const void* data, size_t data_size, virtual int Send(const void* data, size_t data_size,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int SendTo(const void* data, size_t data_size, virtual int SendTo(const void* data, size_t data_size,
const talk_base::SocketAddress& address, const talk_base::SocketAddress& address,
talk_base::DiffServCodePoint dscp) OVERRIDE; const talk_base::PacketOptions& options) OVERRIDE;
virtual int Close() OVERRIDE; virtual int Close() OVERRIDE;
virtual State GetState() const OVERRIDE; virtual State GetState() const OVERRIDE;
virtual int GetOption(talk_base::Socket::Option option, int* value) OVERRIDE; virtual int GetOption(talk_base::Socket::Option option, int* value) OVERRIDE;
...@@ -163,7 +163,7 @@ talk_base::SocketAddress UdpPacketSocket::GetRemoteAddress() const { ...@@ -163,7 +163,7 @@ talk_base::SocketAddress UdpPacketSocket::GetRemoteAddress() const {
} }
int UdpPacketSocket::Send(const void* data, size_t data_size, int UdpPacketSocket::Send(const void* data, size_t data_size,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
// UDP sockets are not connected - this method should never be called. // UDP sockets are not connected - this method should never be called.
NOTREACHED(); NOTREACHED();
return EWOULDBLOCK; return EWOULDBLOCK;
...@@ -171,7 +171,7 @@ int UdpPacketSocket::Send(const void* data, size_t data_size, ...@@ -171,7 +171,7 @@ int UdpPacketSocket::Send(const void* data, size_t data_size,
int UdpPacketSocket::SendTo(const void* data, size_t data_size, int UdpPacketSocket::SendTo(const void* data, size_t data_size,
const talk_base::SocketAddress& address, const talk_base::SocketAddress& address,
talk_base::DiffServCodePoint dscp) { const talk_base::PacketOptions& options) {
if (state_ != STATE_BOUND) { if (state_ != STATE_BOUND) {
NOTREACHED(); NOTREACHED();
return EINVAL; return EINVAL;
......
...@@ -65,10 +65,10 @@ TEST_F(ChromiumSocketFactoryTest, SendAndReceive) { ...@@ -65,10 +65,10 @@ TEST_F(ChromiumSocketFactoryTest, SendAndReceive) {
std::string test_packet("TEST PACKET"); std::string test_packet("TEST PACKET");
int attempts = 0; int attempts = 0;
talk_base::PacketOptions options;
while (last_packet_.empty() && attempts++ < kMaxAttempts) { while (last_packet_.empty() && attempts++ < kMaxAttempts) {
sending_socket->SendTo(test_packet.data(), test_packet.size(), sending_socket->SendTo(test_packet.data(), test_packet.size(),
socket_->GetLocalAddress(), socket_->GetLocalAddress(), options);
talk_base::DSCP_NO_CHANGE);
message_loop_.PostDelayedTask(FROM_HERE, run_loop_.QuitClosure(), message_loop_.PostDelayedTask(FROM_HERE, run_loop_.QuitClosure(),
kAttemptPeriod); kAttemptPeriod);
run_loop_.Run(); run_loop_.Run();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment