SctpSocket Class Reference

Abstract SCTP Socket. More...

#include <yateclass.h>

Inheritance diagram for SctpSocket:

Socket Stream

List of all members.

Public Member Functions

 SctpSocket ()
 SctpSocket (SOCKET fd)
virtual ~SctpSocket ()
virtual bool bindx (ObjList &addresses)=0
virtual bool connectx (ObjList &addresses)=0
virtual int sendTo (void *buffer, int length, int stream, SocketAddr &addr, int flags)=0
virtual Socketaccept (SocketAddr &addr)
virtual int sendMsg (const void *buf, int length, int stream, int &flags)=0
virtual int recvMsg (void *buf, int length, SocketAddr &addr, int &stream, int &flags)=0
virtual bool setStreams (int inbound, int outbound)=0
virtual bool subscribeEvents ()=0
virtual bool getStreams (int &inbound, int &outbound)=0
virtual bool setPayload (u_int32_t payload)=0


Detailed Description

Abstract SCTP Socket.

The SctpSocket interface provides access to SCTP specific functions


Constructor & Destructor Documentation

SctpSocket (  )  [inline]

Constructor

SctpSocket ( SOCKET  fd  )  [inline, explicit]

Constructor

Parameters:
fd File descriptor of an existing handle

virtual ~SctpSocket (  )  [virtual]

Destructor


Member Function Documentation

virtual bool bindx ( ObjList addresses  )  [pure virtual]

Bind this socket to multiple addresses

Parameters:
addresses The list of addresses (SocketAddr)
Returns:
True if the socket bind succeded

virtual bool connectx ( ObjList addresses  )  [pure virtual]

Connect this socket to multiple addresses

Parameters:
addresses the list of addresses (SocketAddr)
Returns:
True if the socket connect succeded

virtual int sendTo ( void *  buffer,
int  length,
int  stream,
SocketAddr addr,
int  flags 
) [pure virtual]

Send a message over a connected or unconnected socket

Parameters:
buffer Buffer for data transfer
length Length of the buffer
stream The stream number
addr Address to send the message to, if NULL will behave like send()
flags Operating system specific bit flags that change the behaviour
Returns:
Number of bytes transferred, socketError() if an error occurred

virtual Socket* accept ( SocketAddr addr  )  [inline, virtual]

Accept an incoming connection

Parameters:
addr The socket address of the incoming connection
Returns:
A new SctpSocket if an incoming connection was detected

Reimplemented from Socket.

virtual int sendMsg ( const void *  buf,
int  length,
int  stream,
int &  flags 
) [pure virtual]

Send a buffer of data over a connected socket

Parameters:
buf The data to send
length Data length
stream The stream number to send over
flags Flags, gets altered on return
Returns:
The number of bytes sent

virtual int recvMsg ( void *  buf,
int  length,
SocketAddr addr,
int &  stream,
int &  flags 
) [pure virtual]

Receive data from a connected socket

Parameters:
buf The buffer where the data will be stored
length The buffer length
addr Gets the remote address from which the data was received
stream Gets the stream number on which the data was read
flags Flags, gets altered on return
Returns:
The number of bytes read

virtual bool setStreams ( int  inbound,
int  outbound 
) [pure virtual]

Set the number of streams

Parameters:
inbound The number of inbound streams
outbound The number of outbound streams
Returns:
True if the number of streams was set

virtual bool subscribeEvents (  )  [pure virtual]

Subscribe to SCTP events This method should be called if we need to find from which stream the data came

Returns:
True if subscription has succeeded

virtual bool getStreams ( int &  inbound,
int &  outbound 
) [pure virtual]

Get the number of negotiated streams

Parameters:
inbound Number of inbound streams
outbound Number of outbound streams
Returns:
True if operation has succeded

virtual bool setPayload ( u_int32_t  payload  )  [pure virtual]

Set the SCTP payload protocol identifier (RFC 4960)

Parameters:
payload Payload identifier code
Returns:
True if set successfully


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

Generated on Sat May 28 18:28:23 2011 for Yate by  doxygen 1.5.6