2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Removed SocketBuffer::feedAndSend(). Renamed
	SocketBuffer::feedSendBuffer() as SocketBuffer::pushStr().
	* src/FtpConnection.cc
	* src/HttpConnection.cc
	* src/HttpServer.cc
	* src/MSEHandshake.cc
	* src/PeerConnection.cc
	* src/SocketBuffer.cc
	* src/SocketBuffer.h
pull/1/head
Tatsuhiro Tsujikawa 2010-03-04 16:36:03 +00:00
parent 74cf8aa980
commit 65b9af6e09
8 changed files with 38 additions and 35 deletions

View File

@ -1,3 +1,15 @@
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed SocketBuffer::feedAndSend(). Renamed
SocketBuffer::feedSendBuffer() as SocketBuffer::pushStr().
* src/FtpConnection.cc
* src/HttpConnection.cc
* src/HttpServer.cc
* src/MSEHandshake.cc
* src/PeerConnection.cc
* src/SocketBuffer.cc
* src/SocketBuffer.h
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> 2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused PeerConnection::sendMessage(). Updated doc. Removed unused PeerConnection::sendMessage(). Updated doc.

View File

@ -81,7 +81,7 @@ bool FtpConnection::sendUser()
request += _authConfig->getUser(); request += _authConfig->getUser();
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, "USER ********"); logger->info(MSG_SENDING_REQUEST, cuid, "USER ********");
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -94,7 +94,7 @@ bool FtpConnection::sendPass()
request += _authConfig->getPassword(); request += _authConfig->getPassword();
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, "PASS ********"); logger->info(MSG_SENDING_REQUEST, cuid, "PASS ********");
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -113,7 +113,7 @@ bool FtpConnection::sendType()
request += type; request += type;
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -124,7 +124,7 @@ bool FtpConnection::sendPwd()
if(_socketBuffer.sendBufferIsEmpty()) { if(_socketBuffer.sendBufferIsEmpty()) {
std::string request = "PWD\r\n"; std::string request = "PWD\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -142,7 +142,7 @@ bool FtpConnection::sendCwd()
request += util::urldecode(req->getDir()); request += util::urldecode(req->getDir());
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -155,7 +155,7 @@ bool FtpConnection::sendMdtm()
request += util::urlencode(req->getFile()); request += util::urlencode(req->getFile());
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -168,7 +168,7 @@ bool FtpConnection::sendSize()
request += util::urldecode(req->getFile()); request += util::urldecode(req->getFile());
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -179,7 +179,7 @@ bool FtpConnection::sendPasv()
if(_socketBuffer.sendBufferIsEmpty()) { if(_socketBuffer.sendBufferIsEmpty()) {
static const std::string request("PASV\r\n"); static const std::string request("PASV\r\n");
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -217,7 +217,7 @@ bool FtpConnection::sendPort(const SharedHandle<SocketCore>& serverSocket)
request += util::uitos(addrinfo.second%256); request += util::uitos(addrinfo.second%256);
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -235,7 +235,7 @@ bool FtpConnection::sendRest(const SharedHandle<Segment>& segment)
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();
@ -248,7 +248,7 @@ bool FtpConnection::sendRetr()
request += util::urldecode(req->getFile()); request += util::urldecode(req->getFile());
request += "\r\n"; request += "\r\n";
logger->info(MSG_SENDING_REQUEST, cuid, request.c_str()); logger->info(MSG_SENDING_REQUEST, cuid, request.c_str());
_socketBuffer.feedSendBuffer(request); _socketBuffer.pushStr(request);
} }
_socketBuffer.send(); _socketBuffer.send();
return _socketBuffer.sendBufferIsEmpty(); return _socketBuffer.sendBufferIsEmpty();

View File

@ -96,7 +96,8 @@ void HttpConnection::sendRequest(const SharedHandle<HttpRequest>& httpRequest)
{ {
std::string request = httpRequest->createRequest(); std::string request = httpRequest->createRequest();
logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str()); logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str());
_socketBuffer.feedAndSend(request); _socketBuffer.pushStr(request);
_socketBuffer.send();
SharedHandle<HttpRequestEntry> entry(new HttpRequestEntry(httpRequest)); SharedHandle<HttpRequestEntry> entry(new HttpRequestEntry(httpRequest));
outstandingHttpRequests.push_back(entry); outstandingHttpRequests.push_back(entry);
} }
@ -106,7 +107,8 @@ void HttpConnection::sendProxyRequest
{ {
std::string request = httpRequest->createProxyRequest(); std::string request = httpRequest->createProxyRequest();
logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str()); logger->info(MSG_SENDING_REQUEST, cuid, eraseConfidentialInfo(request).c_str());
_socketBuffer.feedAndSend(request); _socketBuffer.pushStr(request);
_socketBuffer.send();
SharedHandle<HttpRequestEntry> entry(new HttpRequestEntry(httpRequest)); SharedHandle<HttpRequestEntry> entry(new HttpRequestEntry(httpRequest));
outstandingHttpRequests.push_back(entry); outstandingHttpRequests.push_back(entry);
} }

View File

@ -168,8 +168,8 @@ void HttpServer::feedResponse(const std::string& status,
if(_logger->debug()) { if(_logger->debug()) {
_logger->debug("HTTP Server sends response:\n%s", header.c_str()); _logger->debug("HTTP Server sends response:\n%s", header.c_str());
} }
_socketBuffer.feedSendBuffer(header); _socketBuffer.pushStr(header);
_socketBuffer.feedSendBuffer(text); _socketBuffer.pushStr(text);
} }
ssize_t HttpServer::sendResponse() ssize_t HttpServer::sendResponse()

View File

@ -140,7 +140,7 @@ bool MSEHandshake::sendPublicKey()
size_t padLength = SimpleRandomizer::getInstance()->getRandomNumber(MAX_PAD_LENGTH+1); size_t padLength = SimpleRandomizer::getInstance()->getRandomNumber(MAX_PAD_LENGTH+1);
_dh->generateNonce(buffer+KEY_LENGTH, padLength); _dh->generateNonce(buffer+KEY_LENGTH, padLength);
_socketBuffer.feedSendBuffer(std::string(&buffer[0], _socketBuffer.pushStr(std::string(&buffer[0],
&buffer[KEY_LENGTH+padLength])); &buffer[KEY_LENGTH+padLength]));
} }
_socketBuffer.send(); _socketBuffer.send();
@ -211,7 +211,7 @@ void MSEHandshake::encryptAndSendData(const unsigned char* data, size_t length)
while(r > 0) { while(r > 0) {
s = std::min(r, sizeof(temp)); s = std::min(r, sizeof(temp));
_encryptor->encrypt(temp, s, dptr, s); _encryptor->encrypt(temp, s, dptr, s);
_socketBuffer.feedSendBuffer(std::string(&temp[0], &temp[s])); _socketBuffer.pushStr(std::string(&temp[0], &temp[s]));
dptr += s; dptr += s;
r -= s; r -= s;
} }
@ -264,10 +264,10 @@ bool MSEHandshake::sendInitiatorStep2()
} }
unsigned char md[20]; unsigned char md[20];
createReq1Hash(md); createReq1Hash(md);
_socketBuffer.feedSendBuffer(std::string(&md[0], &md[sizeof(md)])); _socketBuffer.pushStr(std::string(&md[0], &md[sizeof(md)]));
createReq23Hash(md, _infoHash); createReq23Hash(md, _infoHash);
_socketBuffer.feedSendBuffer(std::string(&md[0], &md[sizeof(md)])); _socketBuffer.pushStr(std::string(&md[0], &md[sizeof(md)]));
{ {
// buffer is filled in this order: // buffer is filled in this order:

View File

@ -84,7 +84,7 @@ void PeerConnection::pushStr(const std::string& data)
} }
_socketBuffer.pushBytes(chunk, len); _socketBuffer.pushBytes(chunk, len);
} else { } else {
_socketBuffer.feedSendBuffer(data); _socketBuffer.pushStr(data);
} }
} }

View File

@ -53,17 +53,11 @@ void SocketBuffer::pushBytes(unsigned char* bytes, size_t len)
_bufq.push_back(BufEntry::createBytes(bytes, len)); _bufq.push_back(BufEntry::createBytes(bytes, len));
} }
void SocketBuffer::feedSendBuffer(const std::string& data) void SocketBuffer::pushStr(const std::string& data)
{ {
_bufq.push_back(BufEntry::createStr(data)); _bufq.push_back(BufEntry::createStr(data));
} }
ssize_t SocketBuffer::feedAndSend(const std::string& data)
{
feedSendBuffer(data);
return send();
}
ssize_t SocketBuffer::send() ssize_t SocketBuffer::send()
{ {
size_t totalslen = 0; size_t totalslen = 0;

View File

@ -100,16 +100,11 @@ public:
// Feeds data pointered by bytes with length len. into queue. This // Feeds data pointered by bytes with length len. into queue. This
// object gets ownership of bytes, so caller must not delete or // object gets ownership of bytes, so caller must not delete or
// later bytes after this call. // later bytes after this call. This function doesn't send data.
void pushBytes(unsigned char* bytes, size_t len); void pushBytes(unsigned char* bytes, size_t len);
// Feeds data into queue. This function doesn't send data. // Feeds data into queue. This function doesn't send data.
void feedSendBuffer(const std::string& data); void pushStr(const std::string& data);
// Feeds data into queue and sends data in queue. This function is
// equivalent to call feedSendBuffer() and send() sequentially.
// Returns the number of bytes sent.
ssize_t feedAndSend(const std::string& data);
// Sends data in queue. Returns the number of bytes sent. // Sends data in queue. Returns the number of bytes sent.
ssize_t send(); ssize_t send();