summaryrefslogtreecommitdiff
path: root/include/inspsocket.h
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2015-06-06 14:31:05 +0200
committerAttila Molnar <attilamolnar@hush.com>2015-06-06 14:31:05 +0200
commit1f0485039a276ad1c2fa3d53d284e3a87940ec77 (patch)
tree5689bf7bbcd023956ab67d4730428b1c746decce /include/inspsocket.h
parent0858cdd53cd1ec01c4539e9c36ef7dd9fab4aa16 (diff)
Convert all code to use StreamSocket::SendQueue
Let OnStreamSocketWrite see the entire sendq instead of one element at a time
Diffstat (limited to 'include/inspsocket.h')
-rw-r--r--include/inspsocket.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/include/inspsocket.h b/include/inspsocket.h
index 43bd3e3ab..53eca2e91 100644
--- a/include/inspsocket.h
+++ b/include/inspsocket.h
@@ -212,11 +212,10 @@ class CoreExport StreamSocket : public EventHandler
/** The IOHook that handles raw I/O for this socket, or NULL */
IOHook* iohook;
- /** Private send queue. Note that individual strings may be shared
+ /** Send queue of the socket
*/
- std::deque<std::string> sendq;
- /** Length, in bytes, of the sendq */
- size_t sendq_len;
+ SendQueue sendq;
+
/** Error - if nonempty, the socket is dead, and this is the reason. */
std::string error;
@@ -232,7 +231,7 @@ class CoreExport StreamSocket : public EventHandler
protected:
std::string recvq;
public:
- StreamSocket() : iohook(NULL), sendq_len(0) {}
+ StreamSocket() : iohook(NULL) { }
IOHook* GetIOHook() const;
void AddIOHook(IOHook* hook);
void DelIOHook();
@@ -275,7 +274,9 @@ class CoreExport StreamSocket : public EventHandler
*/
bool GetNextLine(std::string& line, char delim = '\n');
/** Useful for implementing sendq exceeded */
- inline size_t getSendQSize() const { return sendq_len; }
+ size_t getSendQSize() const { return sendq.size(); }
+
+ SendQueue& GetSendQ() { return sendq; }
/**
* Close the socket, remove from socket engine, etc