summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/sockstreambuf/sockstreambuf_abstract.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/sockstreambuf/sockstreambuf_abstract.h')
-rw-r--r--ml/dlib/dlib/sockstreambuf/sockstreambuf_abstract.h127
1 files changed, 0 insertions, 127 deletions
diff --git a/ml/dlib/dlib/sockstreambuf/sockstreambuf_abstract.h b/ml/dlib/dlib/sockstreambuf/sockstreambuf_abstract.h
deleted file mode 100644
index 12be84193..000000000
--- a/ml/dlib/dlib/sockstreambuf/sockstreambuf_abstract.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#undef DLIB_SOCKSTREAMBUF_ABSTRACT_
-#ifdef DLIB_SOCKSTREAMBUF_ABSTRACT_
-
-#include <iosfwd>
-#include <memory>
-#include <streambuf>
-
-#include "../sockets/sockets_kernel_abstract.h"
-
-namespace dlib
-{
-
-// ----------------------------------------------------------------------------------------
-
- class sockstreambuf : public std::streambuf
- {
- /*!
- WHAT THIS OBJECT REPRESENTS
- This object represents a stream buffer capable of writing to and
- reading from TCP connections.
-
- NOTE:
- For a sockstreambuf EOF is when the connection has closed or otherwise
- returned some kind of error.
-
- Also note that any data written to the streambuf may be buffered
- internally. So if you need to ensure that data is actually sent then you
- should flush the stream.
-
- A read operation is guaranteed to block until the number of bytes
- requested has arrived on the connection. It will never keep blocking
- once enough data has arrived.
-
- THREADING
- Generally speaking, this object has the same kind of threading
- restrictions as a connection object. those being:
- - Do not try to write to a sockstreambuf from more than one thread.
- - Do not try to read from a sockstreambuf from more than one thread.
- - You may call shutdown() on the connection object and this will
- cause any reading or writing calls to end. To the sockstreambuf it
- will appear the same as hitting EOF. (note that EOF for a sockstreambuf
- means that the connection has closed)
- - It is safe to read from and write to the sockstreambuf at the same time
- from different threads so long as flushes_output_on_read()==false.
- - It is not safe to try to putback a char and read from the stream from
- different threads
- !*/
- public:
- sockstreambuf (
- connection* con
- );
- /*!
- requires
- - con == a valid connection object
- ensures
- - *this will read from and write to con
- - #flushes_output_on_read() == false
- throws
- - std::bad_alloc
- !*/
-
- sockstreambuf (
- const std::unique_ptr<connection>& con
- );
- /*!
- requires
- - con == a valid connection object
- ensures
- - *this will read from and write to con
- - #flushes_output_on_read() == false
- throws
- - std::bad_alloc
- !*/
-
- ~sockstreambuf (
- );
- /*!
- requires
- - get_connection() object has not been deleted
- ensures
- - sockstream buffer is destructed but the connection object will
- NOT be closed.
- - Any buffered data is flushed to the connection.
- !*/
-
- connection* get_connection (
- );
- /*!
- ensures
- - returns a pointer to the connection object which this buffer
- reads from and writes to
- !*/
-
- void flush_output_on_read (
- );
- /*!
- ensures
- - #flushes_output_on_read() == true
- !*/
-
- bool flushes_output_on_read (
- ) const;
- /*!
- ensures
- - This function returns true if this object will flush its output buffer
- to the network socket before performing any network read.
- - if (flushes_output_on_read() == true)
- - It is not safe to make concurrent read and write calls to this object.
- !*/
-
- void do_not_flush_output_on_read (
- );
- /*!
- ensures
- - #flushes_output_on_read() == false
- !*/
-
- };
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_SOCKSTREAMBUF_ABSTRACT_
-