18 #ifndef _DECAF_NET_SOCKETIMPL_H_ 19 #define _DECAF_NET_SOCKETIMPL_H_ 84 virtual void create() = 0;
112 virtual void connect(
const std::string& hostname,
int port,
int timeout ) = 0;
124 virtual void bind(
const std::string& ipaddress,
int port ) = 0;
136 virtual void listen(
int backlog ) = 0;
163 virtual int available() = 0;
170 virtual void close() = 0;
179 virtual void shutdownInput() = 0;
189 virtual void shutdownOutput() = 0;
201 virtual int getOption(
int option )
const = 0;
213 virtual void setOption(
int option,
int value ) = 0;
230 return this->localPort;
239 return this->address;
258 virtual std::string getLocalAddress()
const = 0;
265 std::string toString()
const;
283 virtual void sendUrgentData(
int data );
virtual bool supportsUrgentData() const
Definition: SocketImpl.h:271
const decaf::io::FileDescriptor * getFileDescriptor() const
Gets the FileDescriptor for this Socket, the Object is owned by this Socket and should not be deleted...
Definition: SocketImpl.h:248
std::string address
The Remote Address that the Socket is connected to.
Definition: SocketImpl.h:58
int getPort() const
Gets the port that this socket has been assigned.
Definition: SocketImpl.h:220
Definition: SocketOptions.h:30
int getLocalPort() const
Gets the value of this SocketImpl's local port field.
Definition: SocketImpl.h:229
std::string getInetAddress() const
Gets the value of this SocketImpl's address field.
Definition: SocketImpl.h:238
This class servers as an opaque wrapper around an underlying OS level resource that can be used as a ...
Definition: FileDescriptor.h:32
int port
The remote port that this Socket is connected to.
Definition: SocketImpl.h:48
Acts as a base class for all physical Socket implementations.
Definition: SocketImpl.h:42
io::FileDescriptor * fd
The File Descriptor for this Socket.
Definition: SocketImpl.h:63
#define DECAF_API
Definition: Config.h:29
Base interface for any class that wants to represent an output stream of bytes.
Definition: OutputStream.h:39
int localPort
The port on the Local Machine that this Socket is Bound to.
Definition: SocketImpl.h:53
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25