The initial point-of-contact with a port.
virtual ~Face()=default
Destructor.
virtual InputProtocol * read()=0
Block and wait for someone to talk to us.
virtual Contact getLocalAddress() const
Get address after open(), if more specific that the address provided to open() - otherwise an invalid...
virtual OutputProtocol * write(const Contact &address)=0
Try to reach out and talk to someone.
Face()=default
Constructor.
virtual void close()=0
Stop listening.
virtual bool open(const Contact &address)=0
Start listening to the given address.
The output side of an active connection between two ports.
An interface to the operating system, including Port based communication.