#include <h323trans.h>
Inheritance diagram for H323Transactor:
Public Member Functions | |
Overrides from PObject | |
void | PrintOn (ostream &strm) const |
new operations | |
PBoolean | SetTransport (const H323TransportAddress &iface) |
H323TransportAddressArray | GetInterfaceAddresses (PBoolean excludeLocalHost=PTrue, H323Transport *associatedTransport=NULL) |
virtual PBoolean | StartChannel () |
virtual void | StopChannel () |
virtual H323TransactionPDU * | CreateTransactionPDU () const=0 |
virtual PBoolean | HandleTransaction (const PASN_Object &rawPDU)=0 |
virtual void | OnSendingPDU (PASN_Object &rawPDU)=0 |
virtual PBoolean | WritePDU (H323TransactionPDU &pdu) |
virtual PBoolean | WriteTo (H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, PBoolean callback=PTrue) |
Member variable access | |
H323EndPoint & | GetEndPoint () const |
H323Transport & | GetTransport () const |
void | SetCheckResponseCryptoTokens (PBoolean value) |
PBoolean | GetCheckResponseCryptoTokens () |
Protected Member Functions | |
void | Construct () |
unsigned | GetNextSequenceNumber () |
PBoolean | SetUpCallSignalAddresses (H225_ArrayOf_TransportAddress &addresses) |
PDECLARE_NOTIFIER (PThread, H323Transactor, HandleTransactions) | |
virtual PBoolean | MakeRequest (Request &request) |
PBoolean | CheckForResponse (unsigned, unsigned, const PASN_Choice *=NULL) |
PBoolean | HandleRequestInProgress (const H323TransactionPDU &pdu, unsigned delay) |
PBoolean | CheckCryptoTokens (const H323TransactionPDU &pdu, const PASN_Array &clearTokens, unsigned clearOptionalField, const PASN_Array &cryptoTokens, unsigned cryptoOptionalField) |
void | AgeResponses () |
PBoolean | SendCachedResponse (const H323TransactionPDU &pdu) |
Protected Attributes | |
H323EndPoint & | endpoint |
WORD | defaultLocalPort |
WORD | defaultRemotePort |
H323Transport * | transport |
PBoolean | checkResponseCryptoTokens |
unsigned | nextSequenceNumber |
PMutex | nextSequenceNumberMutex |
PDictionary< POrdinalKey, Request > | requests |
PMutex | requestsMutex |
Request * | lastRequest |
PMutex | pduWriteMutex |
PSortedList< Response > | responses |
Classes | |
class | Request |
class | Response |
H323Transactor::H323Transactor | ( | H323EndPoint & | endpoint, | |
H323Transport * | transport, | |||
WORD | localPort, | |||
WORD | remotePort | |||
) |
Create a new protocol handler.
endpoint | Endpoint gatekeeper is associated with. |
transport | Transport over which to communicate. |
localPort | Local port to listen on |
remotePort | Remote port to connect on |
H323Transactor::H323Transactor | ( | H323EndPoint & | endpoint, | |
const H323TransportAddress & | iface, | |||
WORD | localPort, | |||
WORD | remotePort | |||
) |
endpoint | Endpoint gatekeeper is associated with. |
iface | Local interface over which to communicate. |
localPort | Local port to listen on |
remotePort | Remote port to connect on |
H323Transactor::~H323Transactor | ( | ) |
Destroy protocol handler.
H323Transactor::H323Transactor | ( | H323EndPoint & | endpoint, | |
H323Transport * | transport, | |||
WORD | localPort, | |||
WORD | remotePort | |||
) |
Create a new protocol handler.
endpoint | Endpoint gatekeeper is associated with. |
transport | Transport over which to communicate. |
localPort | Local port to listen on |
remotePort | Remote port to connect on |
H323Transactor::H323Transactor | ( | H323EndPoint & | endpoint, | |
const H323TransportAddress & | iface, | |||
WORD | localPort, | |||
WORD | remotePort | |||
) |
endpoint | Endpoint gatekeeper is associated with. |
iface | Local interface over which to communicate. |
localPort | Local port to listen on |
remotePort | Remote port to connect on |
H323Transactor::~H323Transactor | ( | ) |
Destroy protocol handler.
void H323Transactor::PrintOn | ( | ostream & | strm | ) | const |
Print the name of the gatekeeper.
strm | Stream to print to. |
Reimplemented in H225_RAS, H323_AnnexG, and H323PeerElement.
PBoolean H323Transactor::SetTransport | ( | const H323TransportAddress & | iface | ) |
Set a new transport for use by the transactor.
iface | Local interface for transport |
H323TransportAddressArray H323Transactor::GetInterfaceAddresses | ( | PBoolean | excludeLocalHost = PTrue , |
|
H323Transport * | associatedTransport = NULL | |||
) |
Return the list of addresses used for this peer element
excludeLocalHost | Flag to exclude 127.0.0.1 |
associatedTransport | Associated transport for precedence and translation |
virtual PBoolean H323Transactor::StartChannel | ( | ) | [virtual] |
Start the channel processing transactions
virtual void H323Transactor::StopChannel | ( | ) | [virtual] |
Stop the channel processing transactions. Must be called in each descendants destructor.
virtual H323TransactionPDU* H323Transactor::CreateTransactionPDU | ( | ) | const [pure virtual] |
Create the transaction PDU for reading.
Implemented in H225_RAS, and H323_AnnexG.
virtual PBoolean H323Transactor::HandleTransaction | ( | const PASN_Object & | rawPDU | ) | [pure virtual] |
Handle and dispatch a transaction PDU
Implemented in H225_RAS, and H323_AnnexG.
virtual void H323Transactor::OnSendingPDU | ( | PASN_Object & | rawPDU | ) | [pure virtual] |
Allow for modifications to PDU on send.
Implemented in H225_RAS, and H323_AnnexG.
virtual PBoolean H323Transactor::WritePDU | ( | H323TransactionPDU & | pdu | ) | [virtual] |
Write PDU to transport after executing callback.
virtual PBoolean H323Transactor::WriteTo | ( | H323TransactionPDU & | pdu, | |
const H323TransportAddressArray & | addresses, | |||
PBoolean | callback = PTrue | |||
) | [virtual] |
Write PDU to transport after executing callback.
H323EndPoint& H323Transactor::GetEndPoint | ( | ) | const [inline] |
Get the gatekeepers associated endpoint.
H323Transport& H323Transactor::GetTransport | ( | ) | const [inline] |
Get the gatekeepers transport channel.
void H323Transactor::SetCheckResponseCryptoTokens | ( | PBoolean | value | ) | [inline] |
Set flag to check all crypto tokens on responses.
value | New value for checking crypto tokens. |
PBoolean H323Transactor::GetCheckResponseCryptoTokens | ( | ) | [inline] |
Get flag to check all crypto tokens on responses.
void H323Transactor::Construct | ( | ) | [protected] |
Reimplemented in H323_AnnexG, and H323PeerElement.
unsigned H323Transactor::GetNextSequenceNumber | ( | ) | [protected] |
PBoolean H323Transactor::SetUpCallSignalAddresses | ( | H225_ArrayOf_TransportAddress & | addresses | ) | [protected] |
H323Transactor::PDECLARE_NOTIFIER | ( | PThread | , | |
H323Transactor | , | |||
HandleTransactions | ||||
) | [protected] |
virtual PBoolean H323Transactor::MakeRequest | ( | Request & | request | ) | [protected, virtual] |
PBoolean H323Transactor::CheckForResponse | ( | unsigned | , | |
unsigned | , | |||
const PASN_Choice * | = NULL | |||
) | [protected] |
PBoolean H323Transactor::HandleRequestInProgress | ( | const H323TransactionPDU & | pdu, | |
unsigned | delay | |||
) | [protected] |
PBoolean H323Transactor::CheckCryptoTokens | ( | const H323TransactionPDU & | pdu, | |
const PASN_Array & | clearTokens, | |||
unsigned | clearOptionalField, | |||
const PASN_Array & | cryptoTokens, | |||
unsigned | cryptoOptionalField | |||
) | [protected] |
void H323Transactor::AgeResponses | ( | ) | [protected] |
PBoolean H323Transactor::SendCachedResponse | ( | const H323TransactionPDU & | pdu | ) | [protected] |
H323EndPoint& H323Transactor::endpoint [protected] |
WORD H323Transactor::defaultLocalPort [protected] |
WORD H323Transactor::defaultRemotePort [protected] |
H323Transport* H323Transactor::transport [protected] |
PBoolean H323Transactor::checkResponseCryptoTokens [protected] |
unsigned H323Transactor::nextSequenceNumber [protected] |
PMutex H323Transactor::nextSequenceNumberMutex [protected] |
PDictionary<POrdinalKey, Request> H323Transactor::requests [protected] |
PMutex H323Transactor::requestsMutex [protected] |
Request* H323Transactor::lastRequest [protected] |
PMutex H323Transactor::pduWriteMutex [protected] |
PSortedList<Response> H323Transactor::responses [protected] |