FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEsocketDescriptor Class Reference

Networking-specific I/O descriptor. More...

#include <OMEsocket.h>

+ Inheritance diagram for OMEsocketDescriptor:

Public Member Functions

 OMEsocketDescriptor (uint64_t handle, OMEioDescriptor::OMEopenMode t)
 
 ~OMEsocketDescriptor ()
 
virtual int readBytes (unsigned char *bfr, size_t bytes, size_t *actualBytes, int *errRet) override
 
virtual int writeBytes (const unsigned char *bfr, size_t bytes, size_t *actualBytes, int *errRet) override
 
virtual int writeVectorOfBytes (const OMEioVector *v, uint_fast16_t elementCount, size_t *actualBytes, int *errRet, size_t skipBytes=0) override
 
virtual OMEeventselectForRead (OMEeventCallbackFP func, OMEthread *t=nullptr) override
 
virtual OMEeventselectForWrite (OMEeventCallbackFP func, OMEthread *t=nullptr) override
 
virtual int close (int mask) override
 
virtual OMEstringgetLocalAddress () const override
 
virtual OMEstringgetPeerAddress () const override
 
virtual int getErrorStatus () const override
 
virtual bool isOpen () const override
 
virtual OMEioDescriptoracceptConnection (int *errRet) override
 
virtual int receiveDatagram (unsigned char *bfr, size_t bytes, size_t *actualBytes, OMEstring *fromInfo, int *errRet) override
 
virtual int sendDatagram (const unsigned char *bfr, size_t bytes, size_t *actualBytes, const char *toInfo, int *errRet) override
 
- Public Member Functions inherited from OMEioDescriptor
 OMEioDescriptor (uint64_t handle, OMEioEvent::OMEfileType type)
 
virtual ~OMEioDescriptor ()
 
uint64_t getSelectHandle () const OME_ALWAYS_INLINE
 
virtual int seekToOffset (size_t offset)
 
uint_fast16_t adjustVector (OMEioVector *result, uint_fast16_t count, const OMEioVector *v, size_t skipCount)
 

Static Public Member Functions

static OMEioDescriptoropenSocketScheme (const OMEstring &url, int *errRet=nullptr)
 
- Static Public Member Functions inherited from OMEioDescriptor
static OMEioDescriptoropenIOscheme (const char *name, uint32_t openMode)
 

Static Protected Member Functions

static OMEioDescriptoropenSocket (struct sockaddr *sock, int sockLen, uint32_t openMode, int *errRet=nullptr)
 

Protected Attributes

uint32_t savedOpenMode
 
int openSides
 
bool selectedForRead
 
bool selectedForWrite
 

Additional Inherited Members

- Public Types inherited from OMEioDescriptor
enum  OMEopenMode {
  read =OME_IO_READ, write =OME_IO_WRITE, listen =OME_IO_LISTEN, connect =OME_IO_CONNECT,
  create =OME_IO_CREATE, mustExist =OME_IO_MUST_EXIST, truncate =OME_IO_TRUNCATE, append =OME_IO_APPEND,
  nonblocking =OME_IO_NONBLOCKING, datagram =OME_IO_DATAGRAM, raw =OME_IO_RAW, multicast =OME_IO_MULTICAST
}
 
- Public Attributes inherited from OMEioDescriptor
uint64_t ioHandle
 
OMEioEvent::OMEfileType descriptorType
 

Detailed Description

Networking-specific I/O descriptor.

Constructor & Destructor Documentation

◆ OMEsocketDescriptor()

OMEsocketDescriptor::OMEsocketDescriptor ( uint64_t  handle,
OMEioDescriptor::OMEopenMode  t 
)

Referenced by openSocket().

◆ ~OMEsocketDescriptor()

OMEsocketDescriptor::~OMEsocketDescriptor ( )

Member Function Documentation

◆ acceptConnection()

OMEioDescriptor * OMEsocketDescriptor::acceptConnection ( int *  errRet)
overridevirtual

◆ close()

int OMEsocketDescriptor::close ( int  mask)
overridevirtual

◆ getErrorStatus()

int OMEsocketDescriptor::getErrorStatus ( ) const
overridevirtual

Reimplemented from OMEioDescriptor.

References OMEioDescriptor::ioHandle.

◆ getLocalAddress()

OMEstring * OMEsocketDescriptor::getLocalAddress ( ) const
overridevirtual

◆ getPeerAddress()

OMEstring * OMEsocketDescriptor::getPeerAddress ( ) const
overridevirtual

◆ isOpen()

virtual bool OMEsocketDescriptor::isOpen ( ) const
inlineoverridevirtual

Implements OMEioDescriptor.

References openSides.

◆ openSocket()

OMEioDescriptor * OMEsocketDescriptor::openSocket ( struct sockaddr *  sock,
int  sockLen,
uint32_t  openMode,
int *  errRet = nullptr 
)
staticprotected

◆ openSocketScheme()

OMEioDescriptor * OMEsocketDescriptor::openSocketScheme ( const OMEstring url,
int *  errRet = nullptr 
)
static

◆ readBytes()

int OMEsocketDescriptor::readBytes ( unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
int *  errRet 
)
overridevirtual

Implements OMEioDescriptor.

◆ receiveDatagram()

int OMEsocketDescriptor::receiveDatagram ( unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
OMEstring fromInfo,
int *  errRet 
)
overridevirtual

Reimplemented from OMEioDescriptor.

References OMEioDescriptor::ioHandle, and selectedForRead.

◆ selectForRead()

OMEevent * OMEsocketDescriptor::selectForRead ( OMEeventCallbackFP  func,
OMEthread t = nullptr 
)
overridevirtual

◆ selectForWrite()

OMEevent * OMEsocketDescriptor::selectForWrite ( OMEeventCallbackFP  func,
OMEthread t = nullptr 
)
overridevirtual

Implements OMEioDescriptor.

◆ sendDatagram()

int OMEsocketDescriptor::sendDatagram ( const unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
const char *  toInfo,
int *  errRet 
)
overridevirtual

Reimplemented from OMEioDescriptor.

References sock.

◆ writeBytes()

int OMEsocketDescriptor::writeBytes ( const unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
int *  errRet 
)
overridevirtual

Implements OMEioDescriptor.

◆ writeVectorOfBytes()

int OMEsocketDescriptor::writeVectorOfBytes ( const OMEioVector v,
uint_fast16_t  elementCount,
size_t *  actualBytes,
int *  errRet,
size_t  skipBytes = 0 
)
overridevirtual

Reimplemented from OMEioDescriptor.

References MAX_IO_VECTORS.

Member Data Documentation

◆ openSides

int OMEsocketDescriptor::openSides
protected

Referenced by close(), and isOpen().

◆ savedOpenMode

uint32_t OMEsocketDescriptor::savedOpenMode
protected

Referenced by getLocalAddress(), and getPeerAddress().

◆ selectedForRead

bool OMEsocketDescriptor::selectedForRead
protected

◆ selectedForWrite

bool OMEsocketDescriptor::selectedForWrite
protected

The documentation for this class was generated from the following files:
Generated: Tue Jul 28 2020 16:03:27
Support Information