struct CCL::Net::ISocket
Overview
Network socket interface. More…
#include <isocket.h> struct ISocket: public CCL::IUnknown { // methods virtual tresult CCL_API connect (const SocketAddress& address) = 0; virtual tresult CCL_API disconnect () = 0; virtual tbool CCL_API isConnected () = 0; virtual tresult CCL_API getPeerAddress (SocketAddress& address) = 0; virtual tresult CCL_API bind (const SocketAddress& address) = 0; virtual tresult CCL_API listen (int maxConnections) = 0; virtual ISocket*CCL_API accept () = 0; virtual tresult CCL_API getLocalAddress (SocketAddress& address) = 0; virtual tresult CCL_API setOption (int option, VariantRef value) = 0; virtual tbool CCL_API isReadable (int timeout = 0) = 0; virtual tbool CCL_API isWritable (int timeout = 0) = 0; virtual tbool CCL_API isAnyError (int timeout = 0) = 0; virtual int CCL_API send (const void* buffer, int size, int flags = 0) = 0; virtual int CCL_API receive (void* buffer, int size, int flags = 0) = 0; virtual int CCL_API sendTo ( const void* buffer, int size, const SocketAddress& address, int flags = 0 ) = 0; virtual int CCL_API receiveFrom ( void* buffer, int size, SocketAddress& address, int flags = 0 ) = 0; virtual tbool CCL_API wouldBlockOperation (tbool writeDirection) = 0; };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0;
Detailed Documentation
Network socket interface.
Methods
virtual tresult CCL_API connect (const SocketAddress& address) = 0
Establish connection to specified host.
virtual tresult CCL_API disconnect () = 0
Close socket connection.
virtual tbool CCL_API isConnected () = 0
Returns true if socket is currently connected.
virtual tresult CCL_API getPeerAddress (SocketAddress& address) = 0
Retrieve address of peer this socket is connected to.
virtual tresult CCL_API bind (const SocketAddress& address) = 0
Bind socket to specified local address.
virtual tresult CCL_API listen (int maxConnections) = 0
Place socket into listening state, waiting for incoming connections.
virtual ISocket*CCL_API accept () = 0
Permit incoming connection attempt.
Returned socket must be released!
virtual tresult CCL_API getLocalAddress (SocketAddress& address) = 0
Retrieve local address of this socket.
virtual tresult CCL_API setOption (int option, VariantRef value) = 0
Set socket option.
virtual tbool CCL_API isReadable (int timeout = 0) = 0
Check if socket is readable (data available, incoming connection, connection closed).
virtual tbool CCL_API isWritable (int timeout = 0) = 0
Check if socket is writable (connection succeeded, data can be sent).
virtual tbool CCL_API isAnyError (int timeout = 0) = 0
Check for socket errors (connection attempt failed).
virtual int CCL_API send (const void* buffer, int size, int flags = 0) = 0
Send data to socket.
virtual int CCL_API receive (void* buffer, int size, int flags = 0) = 0
Receive data from socket.
virtual int CCL_API sendTo ( const void* buffer, int size, const SocketAddress& address, int flags = 0 ) = 0
Send data to specified destination, used for connectionless sockets.
virtual int CCL_API receiveFrom ( void* buffer, int size, SocketAddress& address, int flags = 0 ) = 0
Receive data from socket, used for connectionless sockets.
virtual tbool CCL_API wouldBlockOperation (tbool writeDirection) = 0
Returns true if last socket operation exited because it would block.