H323Transactor Class Referenceabstract

`#include <h323trans.h>`

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

## Constructor & Destructor Documentation

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

Create a new protocol handler.

Parameters

  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
| ) |  |

Parameters

  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.

## 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

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

H323EndPoint& H323Transactor::GetEndPoint | ( |  | ) | const

inline

Get the gatekeepers associated endpoint.

References endpoint.

H323TransportAddressArray H323Transactor::GetInterfaceAddresses | ( | bool | excludeLocalHost = `true` | ) |

Return the list of addresses used for this peer element

Parameters

  excludeLocalHost | Flag to exclude 127.0.0.1

unsigned H323Transactor::GetNextSequenceNumber | ( |  | ) |

protected

H323Transport& H323Transactor::GetTransport | ( |  | ) | const

inline

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

  strm | Stream 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

  value | New value for checking crypto tokens.

References checkResponseCryptoTokens.

PBoolean H323Transactor::SetTransport | ( | const H323TransportAddress & | iface | ) |

Set a new transport for use by the transactor.

Parameters

  iface | Local 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

PBoolean H323Transactor::checkResponseCryptoTokens

protected

Referenced by GetCheckResponseCryptoTokens(), and SetCheckResponseCryptoTokens().

WORD H323Transactor::defaultLocalPort

protected

WORD H323Transactor::defaultRemotePort

protected

H323EndPoint& H323Transactor::endpoint

protected

Referenced by GetEndPoint().

Request* H323Transactor::lastRequest

protected

unsigned H323Transactor::nextSequenceNumber

protected

PMutex H323Transactor::nextSequenceNumberMutex

protected

PMutex H323Transactor::pduWriteMutex

protected

PDictionary<POrdinalKey, Request> H323Transactor::requests

protected

PMutex H323Transactor::requestsMutex

protected

PSortedList<Response> H323Transactor::responses

protected

H323Transport* H323Transactor::transport

protected

Referenced by GetTransport().

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

- h323trans.h