Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: webrtc/base/socketadapters.cc

Issue 1821083002: Split ByteBuffer into writer/reader objects. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/base/socketadapters.h ('k') | webrtc/libjingle/xmpp/xmppsocket.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/base/socketadapters.cc
diff --git a/webrtc/base/socketadapters.cc b/webrtc/base/socketadapters.cc
index 2b513dca63dea5f463d677c07e6c5cfb5583e5d4..85c126751cdf9ccb531430c0d8e0eb7badf1f869 100644
--- a/webrtc/base/socketadapters.cc
+++ b/webrtc/base/socketadapters.cc
@@ -561,7 +561,7 @@ void AsyncSocksProxySocket::OnConnectEvent(AsyncSocket* socket) {
void AsyncSocksProxySocket::ProcessInput(char* data, size_t* len) {
ASSERT(state_ < SS_TUNNEL);
- ByteBuffer response(data, *len);
+ ByteBufferReader response(data, *len);
if (state_ == SS_HELLO) {
uint8_t ver, method;
@@ -638,7 +638,7 @@ void AsyncSocksProxySocket::ProcessInput(char* data, size_t* len) {
// Consume parsed data
*len = response.Length();
- memcpy(data, response.Data(), *len);
+ memmove(data, response.Data(), *len);
if (state_ != SS_TUNNEL)
return;
@@ -653,7 +653,7 @@ void AsyncSocksProxySocket::ProcessInput(char* data, size_t* len) {
}
void AsyncSocksProxySocket::SendHello() {
- ByteBuffer request;
+ ByteBufferWriter request;
request.WriteUInt8(5); // Socks Version
if (user_.empty()) {
request.WriteUInt8(1); // Authentication Mechanisms
@@ -668,7 +668,7 @@ void AsyncSocksProxySocket::SendHello() {
}
void AsyncSocksProxySocket::SendAuth() {
- ByteBuffer request;
+ ByteBufferWriter request;
request.WriteUInt8(1); // Negotiation Version
request.WriteUInt8(static_cast<uint8_t>(user_.size()));
request.WriteString(user_); // Username
@@ -684,7 +684,7 @@ void AsyncSocksProxySocket::SendAuth() {
}
void AsyncSocksProxySocket::SendConnect() {
- ByteBuffer request;
+ ByteBufferWriter request;
request.WriteUInt8(5); // Socks Version
request.WriteUInt8(1); // CONNECT
request.WriteUInt8(0); // Reserved
@@ -719,7 +719,7 @@ void AsyncSocksProxyServerSocket::ProcessInput(char* data, size_t* len) {
// TODO: See if the whole message has arrived
ASSERT(state_ < SS_CONNECT_PENDING);
- ByteBuffer response(data, *len);
+ ByteBufferReader response(data, *len);
if (state_ == SS_HELLO) {
HandleHello(&response);
} else if (state_ == SS_AUTH) {
@@ -730,14 +730,14 @@ void AsyncSocksProxyServerSocket::ProcessInput(char* data, size_t* len) {
// Consume parsed data
*len = response.Length();
- memcpy(data, response.Data(), *len);
+ memmove(data, response.Data(), *len);
}
-void AsyncSocksProxyServerSocket::DirectSend(const ByteBuffer& buf) {
+void AsyncSocksProxyServerSocket::DirectSend(const ByteBufferWriter& buf) {
BufferedReadAdapter::DirectSend(buf.Data(), buf.Length());
}
-void AsyncSocksProxyServerSocket::HandleHello(ByteBuffer* request) {
+void AsyncSocksProxyServerSocket::HandleHello(ByteBufferReader* request) {
uint8_t ver, num_methods;
if (!request->ReadUInt8(&ver) ||
!request->ReadUInt8(&num_methods)) {
@@ -769,13 +769,13 @@ void AsyncSocksProxyServerSocket::HandleHello(ByteBuffer* request) {
}
void AsyncSocksProxyServerSocket::SendHelloReply(uint8_t method) {
- ByteBuffer response;
+ ByteBufferWriter response;
response.WriteUInt8(5); // Socks Version
response.WriteUInt8(method); // Auth method
DirectSend(response);
}
-void AsyncSocksProxyServerSocket::HandleAuth(ByteBuffer* request) {
+void AsyncSocksProxyServerSocket::HandleAuth(ByteBufferReader* request) {
uint8_t ver, user_len, pass_len;
std::string user, pass;
if (!request->ReadUInt8(&ver) ||
@@ -793,13 +793,13 @@ void AsyncSocksProxyServerSocket::HandleAuth(ByteBuffer* request) {
}
void AsyncSocksProxyServerSocket::SendAuthReply(uint8_t result) {
- ByteBuffer response;
+ ByteBufferWriter response;
response.WriteUInt8(1); // Negotiation Version
response.WriteUInt8(result);
DirectSend(response);
}
-void AsyncSocksProxyServerSocket::HandleConnect(ByteBuffer* request) {
+void AsyncSocksProxyServerSocket::HandleConnect(ByteBufferReader* request) {
uint8_t ver, command, reserved, addr_type;
uint32_t ip;
uint16_t port;
@@ -828,7 +828,7 @@ void AsyncSocksProxyServerSocket::SendConnectResult(int result,
if (state_ != SS_CONNECT_PENDING)
return;
- ByteBuffer response;
+ ByteBufferWriter response;
response.WriteUInt8(5); // Socks version
response.WriteUInt8((result != 0)); // 0x01 is generic error
response.WriteUInt8(0); // reserved
« no previous file with comments | « webrtc/base/socketadapters.h ('k') | webrtc/libjingle/xmpp/xmppsocket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698