OPAL  Version 3.10.4
H323Transactor Class Reference

#include <h323trans.h>

Inheritance diagram for H323Transactor:
H225_RAS H323_AnnexG H323Gatekeeper H323GatekeeperListener H323PeerElement

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)
H323TransportAddressArray GetInterfaceAddresses (bool excludeLocalHost=true)
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)
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

H323EndPointendpoint
WORD defaultLocalPort
WORD defaultRemotePort
H323Transporttransport
PBoolean checkResponseCryptoTokens
unsigned nextSequenceNumber
PMutex nextSequenceNumberMutex
PDictionary< POrdinalKey, Requestrequests
PMutex requestsMutex
RequestlastRequest
PMutex pduWriteMutex
PSortedList< Responseresponses

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

Destroy protocol handler.


Member Function Documentation

void H323Transactor::AgeResponses ( ) [protected]
PBoolean H323Transactor::CheckCryptoTokens ( const H323TransactionPDU pdu,
const PASN_Array &  clearTokens,
unsigned  clearOptionalField,
const PASN_Array &  cryptoTokens,
unsigned  cryptoOptionalField 
) [protected]
PBoolean H323Transactor::CheckForResponse ( unsigned  ,
unsigned  ,
const PASN_Choice *  = NULL 
) [protected]
void H323Transactor::Construct ( ) [protected]

Reimplemented in H323PeerElement, and H323_AnnexG.

virtual H323TransactionPDU* H323Transactor::CreateTransactionPDU ( ) const [pure virtual]

Create the transaction PDU for reading.

Implemented in H225_RAS, and H323_AnnexG.

Get flag to check all crypto tokens on responses.

References checkResponseCryptoTokens.

Get the gatekeepers associated endpoint.

References endpoint.

Return the list of addresses used for this peer element

Parameters:
excludeLocalHostFlag to exclude 127.0.0.1
unsigned H323Transactor::GetNextSequenceNumber ( ) [protected]

Get the gatekeepers transport channel.

References 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) [protected, virtual]

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_NOTIFIER ( PThread  ,
H323Transactor  ,
HandleTransactions   
) [protected]
void H323Transactor::PrintOn ( ostream &  strm) const

Print the name of the gatekeeper.

Parameters:
strmStream to print to.

Reimplemented in H323PeerElement, H225_RAS, and H323_AnnexG.

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 checkResponseCryptoTokens.

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.

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

unsigned H323Transactor::nextSequenceNumber [protected]
PMutex H323Transactor::pduWriteMutex [protected]
PDictionary<POrdinalKey, Request> H323Transactor::requests [protected]
PMutex H323Transactor::requestsMutex [protected]
PSortedList<Response> H323Transactor::responses [protected]

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