aboutsummaryrefslogtreecommitdiff
path: root/src/inspsocket.cpp
diff options
context:
space:
mode:
authorGravatar Attila Molnar2015-06-06 14:42:59 +0200
committerGravatar Attila Molnar2015-06-06 14:42:59 +0200
commitd0556a2a598e207ab468b7ea4543e427205ef903 (patch)
treead4bd402d060fdaa384f118891e5da13018afdee /src/inspsocket.cpp
parentAdd max outgoing record size option to sslprofile config (diff)
Call OnStreamSocketWrite() once per write event
Do sendq flattening in SSL modules, move code for it into class SSLIOHook from core
Diffstat (limited to 'src/inspsocket.cpp')
-rw-r--r--src/inspsocket.cpp21
1 files changed, 0 insertions, 21 deletions
diff --git a/src/inspsocket.cpp b/src/inspsocket.cpp
index b8f8949dd..436cbb6bb 100644
--- a/src/inspsocket.cpp
+++ b/src/inspsocket.cpp
@@ -202,33 +202,12 @@ void StreamSocket::DoWrite()
if (GetIOHook())
{
{
- while (error.empty() && !sendq.empty())
{
- if (sendq.size() > 1 && sendq.front().length() < 1024)
- {
- // Avoid multiple repeated SSL encryption invocations
- // This adds a single copy of the queue, but avoids
- // much more overhead in terms of system calls invoked
- // by the IOHook.
- //
- // The length limit of 1024 is to prevent merging strings
- // more than once when writes begin to block.
- std::string tmp;
- tmp.reserve(1280);
- while (!sendq.empty() && tmp.length() < 1024)
- {
- tmp.append(sendq.front());
- sendq.pop_front();
- }
- sendq.push_front(tmp);
- }
-
{
int rv = GetIOHook()->OnStreamSocketWrite(this);
if (rv > 0)
{
// consumed the entire string, and is ready for more
- sendq.pop_front();
}
else if (rv == 0)
{