Inheritance diagram for H323Transactor:

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 | |
| BOOL | SetTransport (const H323TransportAddress &iface) |
| H323TransportAddressArray | GetInterfaceAddresses (BOOL excludeLocalHost=TRUE, H323Transport *associatedTransport=NULL) |
| virtual BOOL | StartChannel () |
| virtual void | StopChannel () |
| virtual H323TransactionPDU * | CreateTransactionPDU () const=0 |
| virtual BOOL | HandleTransaction (const PASN_Object &rawPDU)=0 |
| virtual void | OnSendingPDU (PASN_Object &rawPDU)=0 |
| virtual BOOL | WritePDU (H323TransactionPDU &pdu) |
| virtual BOOL | WriteTo (H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, BOOL callback=TRUE) |
Member variable access | |
| H323EndPoint & | GetEndPoint () const |
| H323Transport & | GetTransport () const |
| void | SetCheckResponseCryptoTokens (BOOL value) |
| BOOL | GetCheckResponseCryptoTokens () |
Protected Member Functions | |
| void | Construct () |
| unsigned | GetNextSequenceNumber () |
| BOOL | SetUpCallSignalAddresses (H225_ArrayOf_TransportAddress &addresses) |
| virtual BOOL | MakeRequest (Request &request) |
| BOOL | CheckForResponse (unsigned, unsigned, const PASN_Choice *=NULL) |
| BOOL | HandleRequestInProgress (const H323TransactionPDU &pdu, unsigned delay) |
| BOOL | CheckCryptoTokens (const H323TransactionPDU &pdu, const PASN_Array &clearTokens, unsigned clearOptionalField, const PASN_Array &cryptoTokens, unsigned cryptoOptionalField) |
| void | AgeResponses () |
| BOOL | SendCachedResponse (const H323TransactionPDU &pdu) |
Protected Attributes | |
| H323EndPoint & | endpoint |
| WORD | defaultLocalPort |
| WORD | defaultRemotePort |
| H323Transport * | transport |
| BOOL | checkResponseCryptoTokens |
| unsigned | nextSequenceNumber |
| PMutex | nextSequenceNumberMutex |
|
PDictionary< POrdinalKey, Request > | requests |
| PMutex | requestsMutex |
| Request * | lastRequest |
| PMutex | pduWriteMutex |
| PSortedList< Response > | responses |
Classes | |
| class | Request |
| class | Response |
Definition at line 152 of file h323trans.h.
| 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 |
Definition at line 222 of file h323trans.cxx.
References Construct(), and transport.
| 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 |
Definition at line 239 of file h323trans.cxx.
References Construct(), H323TransportAddress::GetIpAndPort(), and transport.
| H323Transactor::~H323Transactor | ( | ) |
| 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.
Definition at line 275 of file h323trans.cxx.
References defaultRemotePort, H323TransportAddress::GetIpAndPort(), H323Transport::GetRemoteAddress(), and transport.
Referenced by H323PeerElement::PrintOn(), H323_AnnexG::PrintOn(), and H225_RAS::PrintOn().
| BOOL H323Transactor::SetTransport | ( | const H323TransportAddress & | iface | ) |
Set a new transport for use by the transactor.
| iface | Local interface for transport |
Definition at line 295 of file h323trans.cxx.
References H323Transport::AcceptFromAny, H323Transport::CleanUpOnTermination(), defaultLocalPort, defaultRemotePort, endpoint, H323TransportAddress::GetIpAndPort(), H323Transport::GetLocalAddress(), H323TransportAddress::IsEquivalent(), pduWriteMutex, H323Transport::SetPromiscuous(), StartChannel(), and transport.
| H323TransportAddressArray H323Transactor::GetInterfaceAddresses | ( | BOOL | excludeLocalHost = TRUE, |
|
| 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 |
Definition at line 329 of file h323trans.cxx.
References H323Transport::GetLocalAddress(), and transport.
Referenced by H323PeerElement::SendUpdateDescriptor(), and H323PeerElement::ServiceRequestByAddr().
| BOOL H323Transactor::StartChannel | ( | ) | [virtual] |
Start the channel processing transactions
Definition at line 340 of file h323trans.cxx.
References H323Transport::AttachThread(), and transport.
Referenced by H323TransactionServer::AddListener(), H323PeerElement::Construct(), H323Gatekeeper::MakeRequest(), SetTransport(), and H323Gatekeeper::StartDiscovery().
| void H323Transactor::StopChannel | ( | ) | [virtual] |
Stop the channel processing transactions. Must be called in each descendants destructor.
Definition at line 353 of file h323trans.cxx.
References H323Transport::CleanUpOnTermination(), and transport.
Referenced by H225_RAS::~H225_RAS(), H323_AnnexG::~H323_AnnexG(), H323Gatekeeper::~H323Gatekeeper(), H323GatekeeperListener::~H323GatekeeperListener(), H323PeerElement::~H323PeerElement(), and ~H323Transactor().
| virtual H323TransactionPDU* H323Transactor::CreateTransactionPDU | ( | ) | const [pure virtual] |
Create the transaction PDU for reading.
Implemented in H225_RAS, and H323_AnnexG.
| virtual BOOL 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.
Referenced by MakeRequest(), and WritePDU().
| BOOL H323Transactor::WritePDU | ( | H323TransactionPDU & | pdu | ) | [virtual] |
Write PDU to transport after executing callback.
Definition at line 480 of file h323trans.cxx.
References H323Transport::GetLastReceivedAddress(), H323TransactionPDU::GetPDU(), H323TransactionPDU::GetSequenceNumber(), OnSendingPDU(), pduWriteMutex, responses, transport, and H323TransactionPDU::Write().
Referenced by H323Gatekeeper::OnReceiveBandwidthRequest(), H323Gatekeeper::OnReceiveDisengageRequest(), H323Gatekeeper::OnReceiveInfoRequest(), H323Gatekeeper::OnReceiveUnregistrationRequest(), H323Gatekeeper::SendUnsolicitedIRR(), and WriteTo().
| BOOL H323Transactor::WriteTo | ( | H323TransactionPDU & | pdu, | |
| const H323TransportAddressArray & | addresses, | |||
| BOOL | callback = TRUE | |||
| ) | [virtual] |
Write PDU to transport after executing callback.
Definition at line 498 of file h323trans.cxx.
References H323Transport::ConnectTo(), H323Transport::GetRemoteAddress(), pduWriteMutex, transport, H323TransactionPDU::Write(), and WritePDU().
Referenced by H323Transactor::Request::Poll(), H323PeerElement::ServiceRelease(), and H323Transaction::WritePDU().
| H323EndPoint& H323Transactor::GetEndPoint | ( | ) | const [inline] |
Get the gatekeepers associated endpoint.
Definition at line 248 of file h323trans.h.
References endpoint.
Referenced by H323GatekeeperGRQ::H323GatekeeperGRQ(), H323GatekeeperRRQ::H323GatekeeperRRQ(), H323RegisteredEndPoint::OnFullRegistration(), and H323Transactor::Request::Poll().
| H323Transport& H323Transactor::GetTransport | ( | ) | const [inline] |
Get the gatekeepers transport channel.
Definition at line 252 of file h323trans.h.
References transport.
Referenced by H323GatekeeperGRQ::H323GatekeeperGRQ(), H323GatekeeperLRQ::H323GatekeeperLRQ(), H323GatekeeperRRQ::H323GatekeeperRRQ(), H323EndPoint::InternalMakeCall(), and H323EndPoint::UseGatekeeper().
| void H323Transactor::SetCheckResponseCryptoTokens | ( | BOOL | value | ) | [inline] |
Set flag to check all crypto tokens on responses.
| value | New value for checking crypto tokens. |
Definition at line 256 of file h323trans.h.
References checkResponseCryptoTokens.
| BOOL H323Transactor::GetCheckResponseCryptoTokens | ( | ) | [inline] |
Get flag to check all crypto tokens on responses.
Definition at line 262 of file h323trans.h.
References checkResponseCryptoTokens.
Referenced by CheckCryptoTokens().
1.5.2