OPAL  Version 3.18.8
H323Transactor Class Referenceabstract

#include <h323trans.h>

Inheritance diagram for H323Transactor:
Collaboration diagram for H323Transactor:

Data Structures

class  Request
 
class  Response
 

Public Member Functions

Construction
 H323Transactor (H323EndPoint &endpoint, H323Transport *transport, WORD localPort, WORD remotePort)
 
 H323Transactor (H323EndPoint &endpoint, const H323TransportAddress &iface, WORD localPort, WORD remotePort)
 
 ~H323Transactor ()
 
Overrides from PObject
void PrintOn (ostream &strm) const
 
new operations
PBoolean SetTransport (const H323TransportAddress &iface)
 
virtual PBoolean StartChannel ()
 
virtual void StopChannel ()
 
virtual H323TransactionPDUCreateTransactionPDU () 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=true)
 
Member variable access
H323EndPointGetEndPoint () const
 
H323TransportGetTransport () 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)
 
bool CheckCryptoTokens1 (const H323TransactionPDU &pdu)
 
bool CheckCryptoTokens2 ()
 
template<class RAS >
bool CheckCryptoTokens (const H323TransactionPDU &pdu, const RAS &ras)
 
void AgeResponses ()
 
PBoolean SendCachedResponse (const H323TransactionPDU &pdu)
 
 PDECLARE_MUTEX (m_requestsMutex)
 
 PDECLARE_MUTEX (m_pduWriteMutex)
 

Protected Attributes

H323EndPointm_endpoint
 
WORD m_defaultLocalPort
 
WORD m_defaultRemotePort
 
H323Transportm_transport
 
bool m_checkResponseCryptoTokens
 
atomic< uint16_t > m_nextSequenceNumber
 
PDictionary< POrdinalKey, Requestm_requests
 
Requestm_lastRequest
 
PSortedList< Responsem_responses
 

Constructor & Destructor Documentation

H323Transactor::H323Transactor ( H323EndPoint endpoint,
H323Transport transport,
WORD  localPort,
WORD  remotePort 
)

Create a new protocol handler.

Parameters
endpointEndpoint gatekeeper is associated with.
transportTransport over which to communicate.
localPortLocal port to listen on
remotePortRemote port to connect on
H323Transactor::H323Transactor ( H323EndPoint endpoint,
const H323TransportAddress iface,
WORD  localPort,
WORD  remotePort 
)
Parameters
endpointEndpoint gatekeeper is associated with.
ifaceLocal interface over which to communicate.
localPortLocal port to listen on
remotePortRemote port to connect on
H323Transactor::~H323Transactor ( )

Destroy protocol handler.

Member Function Documentation

void H323Transactor::AgeResponses ( )
protected
template<class RAS >
bool H323Transactor::CheckCryptoTokens ( const H323TransactionPDU pdu,
const RAS &  ras 
)
inlineprotected
bool H323Transactor::CheckCryptoTokens1 ( const H323TransactionPDU pdu)
protected

Referenced by CheckCryptoTokens().

bool H323Transactor::CheckCryptoTokens2 ( )
protected

Referenced by CheckCryptoTokens().

PBoolean H323Transactor::CheckForResponse ( unsigned  ,
unsigned  ,
const PASN_Choice *  = NULL 
)
protected
void H323Transactor::Construct ( )
protected
virtual H323TransactionPDU* H323Transactor::CreateTransactionPDU ( ) const
pure virtual

Create the transaction PDU for reading.

Implemented in H225_RAS, and H323_AnnexG.

PBoolean H323Transactor::GetCheckResponseCryptoTokens ( )
inline

Get flag to check all crypto tokens on responses.

References m_checkResponseCryptoTokens.

H323EndPoint& H323Transactor::GetEndPoint ( ) const
inline

Get the gatekeepers associated endpoint.

References m_endpoint.

unsigned H323Transactor::GetNextSequenceNumber ( )
protected
H323Transport& H323Transactor::GetTransport ( ) const
inline

Get the gatekeepers transport channel.

References m_transport.

PBoolean H323Transactor::HandleRequestInProgress ( const H323TransactionPDU pdu,
unsigned  delay 
)
protected
virtual PBoolean H323Transactor::HandleTransaction ( const PASN_Object &  rawPDU)
pure virtual

Handle and dispatch a transaction PDU

Implemented in H225_RAS, and H323_AnnexG.

virtual PBoolean H323Transactor::MakeRequest ( Request request)
protectedvirtual

Reimplemented in H323PeerElement, and H323Gatekeeper.

virtual void H323Transactor::OnSendingPDU ( PASN_Object &  rawPDU)
pure virtual

Allow for modifications to PDU on send.

Implemented in H225_RAS, and H323_AnnexG.

H323Transactor::PDECLARE_MUTEX ( m_requestsMutex  )
protected
H323Transactor::PDECLARE_MUTEX ( m_pduWriteMutex  )
protected
H323Transactor::PDECLARE_NOTIFIER ( PThread  ,
H323Transactor  ,
HandleTransactions   
)
protected
void H323Transactor::PrintOn ( ostream &  strm) const

Print the name of the gatekeeper.

Parameters
strmStream to print to.
PBoolean H323Transactor::SendCachedResponse ( const H323TransactionPDU pdu)
protected
void H323Transactor::SetCheckResponseCryptoTokens ( PBoolean  value)
inline

Set flag to check all crypto tokens on responses.

Parameters
valueNew value for checking crypto tokens.

References m_checkResponseCryptoTokens.

PBoolean H323Transactor::SetTransport ( const H323TransportAddress iface)

Set a new transport for use by the transactor.

Parameters
ifaceLocal interface for transport
PBoolean H323Transactor::SetUpCallSignalAddresses ( H225_ArrayOf_TransportAddress &  addresses)
protected
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.

Reimplemented in H323Gatekeeper.

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 = true 
)
virtual

Write PDU to transport after executing callback.

Reimplemented in H323Gatekeeper.

Field Documentation

bool H323Transactor::m_checkResponseCryptoTokens
protected
WORD H323Transactor::m_defaultLocalPort
protected
WORD H323Transactor::m_defaultRemotePort
protected
H323EndPoint& H323Transactor::m_endpoint
protected

Referenced by GetEndPoint().

Request* H323Transactor::m_lastRequest
protected
atomic<uint16_t> H323Transactor::m_nextSequenceNumber
protected
PDictionary<POrdinalKey, Request> H323Transactor::m_requests
protected
PSortedList<Response> H323Transactor::m_responses
protected
H323Transport* H323Transactor::m_transport
protected

Referenced by GetTransport().


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