summaryrefslogtreecommitdiff
path: root/lib/server
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2014-12-26 23:16:52 +0000
committerChris Wilson <chris+github@qwirx.com>2014-12-26 23:16:52 +0000
commitf48f84fd4d991536e395d7a95280a9c246d4af93 (patch)
tree91e0f5a1a2d8d7019a9296a9d0a28719970d826c /lib/server
parentef165a78bbbb3829f46987077ec1aa2fd6823f2a (diff)
Add comment about reason for code duplication.
The mysterious case of the missing Write(const std::string&) in the night-time, or rather in subclasses of IOStream which declares it.
Diffstat (limited to 'lib/server')
-rw-r--r--lib/server/SocketStream.h3
-rw-r--r--lib/server/WinNamedPipeStream.h7
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/server/SocketStream.h b/lib/server/SocketStream.h
index 068a4ceb..438bd989 100644
--- a/lib/server/SocketStream.h
+++ b/lib/server/SocketStream.h
@@ -50,11 +50,14 @@ public:
virtual int Read(void *pBuffer, int NBytes, int Timeout = IOStream::TimeOutInfinite);
virtual void Write(const void *pBuffer, int NBytes,
int Timeout = IOStream::TimeOutInfinite);
+
+ // Why not inherited from IOStream?
virtual void Write(const std::string& rBuffer,
int Timeout = IOStream::TimeOutInfinite)
{
IOStream::Write(rBuffer, Timeout);
}
+
virtual void Close();
virtual bool StreamDataLeft();
virtual bool StreamClosed();
diff --git a/lib/server/WinNamedPipeStream.h b/lib/server/WinNamedPipeStream.h
index 99ce3548..60641808 100644
--- a/lib/server/WinNamedPipeStream.h
+++ b/lib/server/WinNamedPipeStream.h
@@ -45,6 +45,13 @@ public:
virtual bool StreamDataLeft();
virtual bool StreamClosed();
+ // Why not inherited from IOStream?
+ virtual void Write(const std::string& rBuffer,
+ int Timeout = IOStream::TimeOutInfinite)
+ {
+ IOStream::Write(rBuffer, Timeout);
+ }
+
protected:
void MarkAsReadClosed() {mReadClosed = true;}
void MarkAsWriteClosed() {mWriteClosed = true;}