|
Yate
|
An MGCP transaction. More...
#include <yatemgcp.h>
Public Types | |
| enum | State { Invalid = 0, Initiated = 1, Trying = 2, Responded = 3, Ack = 4, Destroying = 5 } |
Public Member Functions | |
| MGCPTransaction (MGCPEngine *engine, MGCPMessage *msg, bool outgoing, const SocketAddr &address) | |
| virtual | ~MGCPTransaction () |
| State | state () const |
| unsigned int | id () const |
| bool | outgoing () const |
| const String & | ep () const |
| const SocketAddr & | addr () const |
| MGCPEngine * | engine () |
| const MGCPMessage * | initial () const |
| const MGCPMessage * | msgProvisional () const |
| const MGCPMessage * | msgResponse () const |
| const MGCPMessage * | msgAck () const |
| bool | timeout () const |
| void | ackRequest (bool request) |
| void * | userData () const |
| void | userData (void *data) |
| MGCPEvent * | getEvent (u_int64_t time=Time()) |
| bool | sendProvisional (int code=100, const char *comment=0) |
| bool | setResponse (int code, const char *comment=0) |
| bool | setResponse (int code, const NamedList *params, MimeSdpBody *sdp1=0, MimeSdpBody *sdp2=0) |
| bool | setResponse (MGCPMessage *msg) |
Protected Member Functions | |
| virtual void | destroyed () |
| void | processMessage (MGCPMessage *msg) |
| MGCPEvent * | checkTimeout (u_int64_t time) |
| void | eventTerminated (MGCPEvent *event) |
| void | changeState (State newState) |
| void | setProvisional (int code=100) |
| void | send (MGCPMessage *msg) |
Friends | |
| class | MGCPEngine |
| class | MGCPEvent |
An MGCP transaction.
This class implements an MGCP transaction
| enum State |
Transaction state enumeration
| MGCPTransaction | ( | MGCPEngine * | engine, |
| MGCPMessage * | msg, | ||
| bool | outgoing, | ||
| const SocketAddr & | address | ||
| ) |
Constructor. Construct a transaction from its first message
| engine | The engine owning this transaction |
| msg | The command creating this transaction |
| outgoing | The direction of this transaction |
| address | Remote enpoint's address |
| virtual ~MGCPTransaction | ( | ) | [virtual] |
Destructor
| void ackRequest | ( | bool | request | ) | [inline] |
Set the remote ACK request flag
| request | False if remote is not required to send an ACK |
| const SocketAddr& addr | ( | ) | const [inline] |
Get the remote endpoint's IP address
| void changeState | ( | State | newState | ) | [protected] |
Change transaction's state if the new state is a valid one
| newState | The new state of this transaction |
| MGCPEvent* checkTimeout | ( | u_int64_t | time | ) | [protected] |
Check timeouts. Manage retransmissions
| time | Current time in milliseconds |
| virtual void destroyed | ( | ) | [protected, virtual] |
Gracefully terminate this transaction. Release memory
Reimplemented from RefObject.
| MGCPEngine* engine | ( | ) | [inline] |
Get the engine owning this transaction
Get the id of the endpoint owning this transaction
| void eventTerminated | ( | MGCPEvent * | event | ) | [protected] |
Event termination notification
| event | The notifier |
Get an event from this transaction. Check timeouts
| time | Current time in microseconds |
| unsigned int id | ( | ) | const [inline] |
Get the id of this transaction
| const MGCPMessage* initial | ( | ) | const [inline] |
Get the initial command message sent or received by this transaction
| const MGCPMessage* msgAck | ( | ) | const [inline] |
Get the response aknowledgement message sent or received by this transaction
| const MGCPMessage* msgProvisional | ( | ) | const [inline] |
Get the provisional response message sent or received by this transaction
| const MGCPMessage* msgResponse | ( | ) | const [inline] |
Get the final response message sent or received by this transaction
| bool outgoing | ( | ) | const [inline] |
Get the direction of this transaction
| void processMessage | ( | MGCPMessage * | msg | ) | [protected] |
Consume (process) a received message, other then the initiating one
| msg | The received message |
| void send | ( | MGCPMessage * | msg | ) | [protected] |
(Re)send one the initial, provisional or final response. Change transaction's state
| msg | The message to send |
| bool sendProvisional | ( | int | code = 100, |
| const char * | comment = 0 |
||
| ) |
Explicitely transmits a provisional code
| code | Provisional response code to send, must be in range 100-199 |
| comment | Optional response comment text |
| void setProvisional | ( | int | code = 100 | ) | [protected] |
Set and send the provisional response (codes between 100 and 199)
| code | The response code |
| bool setResponse | ( | int | code, |
| const char * | comment = 0 |
||
| ) | [inline] |
Creates and transmits a final response (code must at least 200) message if this is an incoming transaction
| code | Response code to send |
| comment | Optional response comment text |
References MGCPTransaction::setResponse().
Referenced by MGCPTransaction::setResponse().
| bool setResponse | ( | int | code, |
| const NamedList * | params, | ||
| MimeSdpBody * | sdp1 = 0, |
||
| MimeSdpBody * | sdp2 = 0 |
||
| ) |
Creates and transmits a final response (code must at least 200) message if this is an incoming transaction. The SDP(s) will be consumed (appended to the message or destroyed)
| code | Response code to send |
| params | Parameters to set in response, name will be set as comment |
| sdp1 | Optional SDP to be added to the response |
| sdp2 | Optional second SDP to be added to the response if the first one is not 0 |
| bool setResponse | ( | MGCPMessage * | msg | ) |
Transmits a final response (code must at least 200) message if this is an incoming transaction
| msg | The message to transmit |
Get the current transaction's state
| bool timeout | ( | ) | const [inline] |
Check if this transaction timed out
| void* userData | ( | ) | const [inline] |
Get the private user data of this transaction
| void userData | ( | void * | data | ) | [inline] |
Set the private user data of this transaction
| data | The new private user data of this transaction |
1.7.6.1