SctpSocket Class Reference
Abstract SCTP
Socket.
More...
#include <yateclass.h>
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 Socket * | accept (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
Constructor
- Parameters:
-
| fd | File descriptor of an existing handle |
Member Function Documentation
virtual bool bindx |
( |
ObjList & |
addresses |
) |
[pure virtual] |
Bind this socket to multiple addresses
- Parameters:
-
- Returns:
- True if the socket bind succeded
virtual bool connectx |
( |
ObjList & |
addresses |
) |
[pure virtual] |
Connect this socket to multiple addresses
- Parameters:
-
- 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
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: