diff options
Diffstat (limited to 'ml/dlib/dlib/linker/linker_kernel_abstract.h')
-rw-r--r-- | ml/dlib/dlib/linker/linker_kernel_abstract.h | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/ml/dlib/dlib/linker/linker_kernel_abstract.h b/ml/dlib/dlib/linker/linker_kernel_abstract.h deleted file mode 100644 index cef0901e4..000000000 --- a/ml/dlib/dlib/linker/linker_kernel_abstract.h +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright (C) 2003 Davis E. King (davis@dlib.net) -// License: Boost Software License See LICENSE.txt for the full license. -#undef DLIB_LINKER_KERNEl_ABSTRACT_ -#ifdef DLIB_LINKER_KERNEl_ABSTRACT_ - -#include "../threads/threads_kernel_abstract.h" -#include "../sockets/sockets_kernel_abstract.h" - -namespace dlib -{ - - class linker - { - - /*! - INITIAL VALUE - is_running() == false - - - WHAT THIS OBJECT REPRESENTS - This object represents something that takes two connections and lets - them talk to each other. i.e. any incoming data from one connection is - passed unaltered to the other and vice versa. - - note that linker objects are not swappable. - - Also note that when one connection is closed shutdown_outgoing() - is called on the other to signal that no more data will be sent - in that direction on the connection. - (i.e. the FIN packet is effectively also forwarded by the linker object) - - THREAD SAFETY - all member functions are thread-safe. - - !*/ - - public: - - linker( - ); - /*! - ensures - - #*this is properly initialized - throws - - std::bad_alloc - - dlib::thread_error - !*/ - - linker ( - connection& a, - connection& b - ); - /*! - ensures - - #*this is properly initialized - - immediately invokes link(a,b); - (i.e. using this constructor is the same as creating a linker with - the default constructor and then immediately invoking link() on it) - throws - - std::bad_alloc - - dlib::thread_error - !*/ - - virtual ~linker( - ); - /*! - ensures - - all resources associated with *this have been released - !*/ - - void clear( - ); - /*! - ensures - - #*this has its initial value - - if (is_running()) then - - the two connections being linked will be shutdown() - throws - - std::bad_alloc - if this exception is thrown then the linker object is unusable - until clear() is called and succeeds and - if is_running() then the connections will STILL be shutdown() - even though an exception is being thrown - !*/ - - bool is_running( - ) const; - /*! - ensures - - returns true if link() is running else - - returns false if link() is not running or has released all its - resources and is about to terminate - throws - - std::bad_alloc - !*/ - - - void link ( - connection& a, - connection& b - ); - /*! - requires - - is_running() == false - ensures - - all incoming data from connection a will be forwarded to b - - all incoming data from connection b will be forwarded to a - - #a and #b will have been shutdown() - - link() will block until both of the connections have ended - or an error occurs - throws - - std::bad_alloc - link() may throw this exception and if it does then the object - will be unusable until clear() is called and succeeds and - connections a and b will be shutdown() - - dlib::socket_error - link() will throw a this exception if one of the connections - returns an error value (being shutdown is not an error). - If this happens then the linker object will be cleared and - have its initial value. note that if this happens then the - connections being linked will be shutdown() - - dlib::thread_error - link() will throw a this exception if there is a problem - creating new threads. Or it may throw this exception if there - is a problem creating threading objects. If this happens - then the linker object will be cleared and have its initial value. - note that if this happens then the connections being linked will - be shutdown(). - !*/ - - private: - - // restricted functions - linker(linker&); // copy constructor - linker& operator=(linker&); // assignment operator - }; - -} - -#endif // DLIB_LINKER_KERNEl_ABSTRACT_ - |