Apache Mesos
Public Member Functions | Static Public Member Functions | List of all members
process::network::internal::PollSocketImpl Class Reference

#include <poll_socket.hpp>

Inheritance diagram for process::network::internal::PollSocketImpl:
process::network::internal::SocketImpl process::network::internal::OpenSSLSocketImpl

Public Member Functions

 PollSocketImpl (int_fd s)
 
 ~PollSocketImpl () override
 
Try< Nothinglisten (int backlog) override
 
Future< std::shared_ptr< SocketImpl > > accept () override
 Returns an implementation corresponding to the next pending connection for the listening socket. More...
 
Future< Nothingconnect (const Address &address) override
 
Future< size_t > recv (char *data, size_t size) override
 
Future< size_t > send (const char *data, size_t size) override
 
Future< size_t > sendfile (int_fd fd, off_t offset, size_t size) override
 
Kind kind () const override
 
- Public Member Functions inherited from process::network::internal::SocketImpl
virtual ~SocketImpl ()
 
int_fd get () const
 Returns the file descriptor wrapped by this implementation. More...
 
Try< Addressaddress () const
 Returns the Address with the assigned ip and assigned port. More...
 
Try< Addresspeer () const
 Returns the peer's Address for the accepted or connected socket. More...
 
Try< Addressbind (const Address &address)
 Assigns the specified address to the socket. More...
 
virtual Future< std::string > recv (const Option< ssize_t > &size=None())
 An overload of recv, which receives data based on the specified 'size' parameter. More...
 
virtual Future< Nothingsend (const std::string &data)
 An overload of send, which sends all of the specified data. More...
 
virtual Try< Nothing, SocketErrorshutdown (int how)
 Shuts down the socket. More...
 

Static Public Member Functions

static Try< std::shared_ptr< SocketImpl > > create (int_fd s)
 
- Static Public Member Functions inherited from process::network::internal::SocketImpl
static Kind DEFAULT_KIND ()
 Returns the default Kind of implementation. More...
 
static Try< std::shared_ptr< SocketImpl > > create (int_fd s, Kind kind=DEFAULT_KIND())
 Returns an instance of a SocketImpl using the specified kind of implementation. More...
 
static Try< std::shared_ptr< SocketImpl > > create (Address::Family family, Kind kind=DEFAULT_KIND())
 Returns an instance of a SocketImpl using the specified kind of implementation. More...
 

Additional Inherited Members

- Public Types inherited from process::network::internal::SocketImpl
enum  Kind { Kind::POLL }
 Available kinds of implementations. More...
 
- Protected Member Functions inherited from process::network::internal::SocketImpl
 SocketImpl (int_fd _s)
 
int_fd release ()
 Releases ownership of the file descriptor. More...
 
- Static Protected Member Functions inherited from process::network::internal::SocketImpl
template<typename T >
static std::shared_ptr< T > shared (T *t)
 Returns a std::shared_ptr<T> from this implementation. More...
 
- Protected Attributes inherited from process::network::internal::SocketImpl
int_fd s
 

Constructor & Destructor Documentation

process::network::internal::PollSocketImpl::PollSocketImpl ( int_fd  s)
inline
process::network::internal::PollSocketImpl::~PollSocketImpl ( )
inlineoverride

Member Function Documentation

Future<std::shared_ptr<SocketImpl> > process::network::internal::PollSocketImpl::accept ( )
overridevirtual

Returns an implementation corresponding to the next pending connection for the listening socket.

All implementations will set the NONBLOCK and CLOEXEC options on the returned socket.

TODO(josephw): MESOS-5729: Consider making the CLOEXEC option configurable by the caller of the interface.

Implements process::network::internal::SocketImpl.

Reimplemented in process::network::internal::OpenSSLSocketImpl.

Future<Nothing> process::network::internal::PollSocketImpl::connect ( const Address address)
overridevirtual
static Try<std::shared_ptr<SocketImpl> > process::network::internal::PollSocketImpl::create ( int_fd  s)
static
Kind process::network::internal::PollSocketImpl::kind ( ) const
inlineoverridevirtual
Try<Nothing> process::network::internal::PollSocketImpl::listen ( int  backlog)
overridevirtual
Future<size_t> process::network::internal::PollSocketImpl::recv ( char *  data,
size_t  size 
)
overridevirtual
Future<size_t> process::network::internal::PollSocketImpl::send ( const char *  data,
size_t  size 
)
overridevirtual
Future<size_t> process::network::internal::PollSocketImpl::sendfile ( int_fd  fd,
off_t  offset,
size_t  size 
)
overridevirtual

The documentation for this class was generated from the following file: