#include <IArchNetwork.h>
Inherits IInterface.
Inherited by CArch, CArchNetworkBSD, and CArchNetworkWinsock.
Inheritance diagram for IArchNetwork:
Public Types | |
enum | EAddressFamily { kUNKNOWN, kINET } |
Supported address families. | |
enum | ESocketType { kDGRAM, kSTREAM } |
Supported socket types. | |
enum | { kPOLLIN = 1, kPOLLOUT = 2, kPOLLERR = 4, kPOLLNVAL = 8 } |
Events for poll() . More... | |
Public Member Functions | |
manipulators | |
virtual CArchSocket | newSocket (EAddressFamily, ESocketType)=0 |
Create a new socket. | |
virtual CArchSocket | copySocket (CArchSocket s)=0 |
Copy a socket object. | |
virtual void | closeSocket (CArchSocket s)=0 |
Release a socket reference. | |
virtual void | closeSocketForRead (CArchSocket s)=0 |
Close socket for further reads. | |
virtual void | closeSocketForWrite (CArchSocket s)=0 |
Close socket for further writes. | |
virtual void | bindSocket (CArchSocket s, CArchNetAddress addr)=0 |
Bind socket to address. | |
virtual void | listenOnSocket (CArchSocket s)=0 |
Listen for connections on socket. | |
virtual CArchSocket | acceptSocket (CArchSocket s, CArchNetAddress *addr)=0 |
Accept connection on socket. | |
virtual bool | connectSocket (CArchSocket s, CArchNetAddress addr)=0 |
Connect socket. | |
virtual int | pollSocket (CPollEntry[], int num, double timeout)=0 |
Check socket state. | |
virtual void | unblockPollSocket (CArchThread thread)=0 |
Unblock thread in pollSocket(). | |
virtual size_t | readSocket (CArchSocket s, void *buf, size_t len)=0 |
Read data from socket. | |
virtual size_t | writeSocket (CArchSocket s, const void *buf, size_t len)=0 |
Write data from socket. | |
virtual void | throwErrorOnSocket (CArchSocket s)=0 |
Check error on socket. | |
virtual bool | setNoDelayOnSocket (CArchSocket, bool noDelay)=0 |
Turn Nagle algorithm on or off on socket. | |
virtual bool | setReuseAddrOnSocket (CArchSocket, bool reuse)=0 |
Turn address reuse on or off on socket. | |
virtual std::string | getHostName ()=0 |
Return local host's name. | |
virtual CArchNetAddress | newAnyAddr (EAddressFamily)=0 |
Create an "any" network address. | |
virtual CArchNetAddress | copyAddr (CArchNetAddress)=0 |
Copy a network address. | |
virtual CArchNetAddress | nameToAddr (const std::string &)=0 |
Convert a name to a network address. | |
virtual void | closeAddr (CArchNetAddress)=0 |
Destroy a network address. | |
virtual std::string | addrToName (CArchNetAddress)=0 |
Convert an address to a host name. | |
virtual std::string | addrToString (CArchNetAddress)=0 |
Convert an address to a string. | |
virtual EAddressFamily | getAddrFamily (CArchNetAddress)=0 |
Get an address's family. | |
virtual void | setAddrPort (CArchNetAddress, int port)=0 |
Set the port of an address. | |
virtual int | getAddrPort (CArchNetAddress)=0 |
Get the port of an address. | |
virtual bool | isEqualAddr (CArchNetAddress, CArchNetAddress)=0 |
Test addresses for equality. | |
virtual bool | isAnyAddr (CArchNetAddress addr)=0 |
Test for the "any" address. |
This interface defines the networking operations required by synergy. Each architecture must implement this interface.
Definition at line 58 of file IArchNetwork.h.
|
Events for
Events for
Definition at line 77 of file IArchNetwork.h. |
|
Accept connection on socket.
Accepts a connection on socket Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::acceptSocket(). |
|
Bind socket to address.
Binds socket Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::bindSocket(). |
|
Release a socket reference. Deletes the given socket object. This does not destroy the socket the object referred to until there are no remaining references for the socket. Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::closeSocket(). |
|
Close socket for further reads.
Calling this disallows future reads on socket Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::closeSocketForRead(). |
|
Close socket for further writes.
Calling this disallows future writes on socket Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::closeSocketForWrite(). |
|
Connect socket.
Connects the socket Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::connectSocket(). |
|
Copy a socket object.
Returns a reference to to socket referred to by Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::copySocket(). |
|
Test for the "any" address.
Returns true if Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::isAnyAddr(). |
|
Listen for connections on socket.
Causes the socket Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::listenOnSocket(). |
|
Create a new socket. The socket is an opaque data type. Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::newSocket(). |
|
Check socket state.
Tests the state of (Cancellation point) Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::pollSocket(). |
|
Read data from socket.
Read up to Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::readSocket(). |
|
Turn Nagle algorithm on or off on socket. Set socket to send messages immediately (true) or to collect small messages into one packet (false). Returns the previous state. Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::setNoDelayOnSocket(). |
|
Turn address reuse on or off on socket. Allows the address this socket is bound to to be reused while in the TIME_WAIT state. Returns the previous state. Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::setReuseAddrOnSocket(). |
|
Check error on socket.
If the socket Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::throwErrorOnSocket(). |
|
Unblock thread in pollSocket(). Cause a thread that's in a pollSocket() call to return. This call may return before the thread is unblocked. If the thread is not in a pollSocket() call this call has no effect. Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::unblockPollSocket(). |
|
Write data from socket.
Write up to Implemented in CArch, CArchNetworkBSD, and CArchNetworkWinsock. Referenced by CArch::writeSocket(). |