User Manual, Developers Guide and API Documentation

UdpClientBinding.hpp

Go to the documentation of this file.
00001 /******************************************************************************
00002  * UDP ClientBinding                                                          *
00003  * __________________________________________________________________________ *
00004  *                                                                            *
00005  * Copyright (C) 2005                                                         *
00006  * Lehrstuhl fuer Kommunikationsnetze (ComNets)                               *
00007  * Kopernikusstr. 16, D-52074 Aachen, Germany                                 *
00008  * phone: ++49-241-80-27910 (phone), fax: ++49-241-80-22242                   *
00009  * email: wns@comnetsrwth-aachen.de, www: http://wns.comnets.rwth-aachen.de/  *
00010  ******************************************************************************/
00011 
00012 #ifndef CONSTANZE_UDPCLIENTBINDING_HPP
00013 #define CONSTANZE_UDPCLIENTBINDING_HPP
00014 
00015 #include <CONSTANZE/UdpBinding.hpp>
00016 #include <CONSTANZE/Generator.hpp>
00017 
00018 #include <WNS/service/nl/Service.hpp>
00019 #include <WNS/service/nl/Address.hpp>
00020 #include <WNS/service/tl/Service.hpp>
00021 #include <WNS/service/tl/ConnectionHandler.hpp>
00022 #include <WNS/service/tl/DataHandler.hpp>
00023 #include <WNS/service/tl/PortPool.hpp>
00024 #include <WNS/service/tl/Connection.hpp>
00025 
00026 #include <WNS/PyConfigViewCreator.hpp>
00027 #include <WNS/logger/Logger.hpp>
00028 #include <WNS/module/Base.hpp>
00029 
00030 
00031 namespace constanze
00032 {
00033     class UdpClientBinding:
00034         public Binding,
00035         public wns::service::tl::ConnectionHandler,
00036         public wns::service::tl::DataHandler
00037     {
00038     public:
00039         UdpClientBinding(const wns::pyconfig::View& _pyco);
00040         ~UdpClientBinding();
00041 
00042         // from Binding
00043         virtual void
00044         registerComponent(wns::node::component::Component* _component);
00045 
00046         virtual void
00047         sendData(const wns::osi::PDUPtr& _data);
00048 
00049         virtual void
00050         initBinding(constanze::StartTrigger* _startTrigger);
00051 
00052         virtual void
00053         releaseBinding(constanze::StopTrigger* _stopTrigger);
00054 
00055         virtual void
00056         registerListener(constanze::Listener*);
00057 
00058         // from ConnectionHandler
00059         virtual void
00060         onConnectionEstablished(wns::service::nl::Address _sourceIpAddress, wns::service::tl::Connection* _newConnection);
00061 
00062         virtual void
00063         onConnectionClosed(wns::service::tl::Connection* _connection);
00064 
00065         virtual void
00066         onConnectionClosedByPeer(wns::service::tl::Connection* _connection);
00067 
00068         virtual void
00069         onConnectionLost(wns::service::tl::Connection* _connection);
00070 
00071         // from DataHandler
00072         virtual void
00073         onData(const wns::osi::PDUPtr& _pdu);
00074 
00075     protected:
00076         constanze::StartTrigger* startTrigger;
00077         constanze::StopTrigger* stopTrigger;
00078 
00079         wns::node::component::Component* component;
00080 
00081         wns::pyconfig::View pyco;
00082 
00083         wns::service::nl::DNSService* dns;
00084         wns::service::nl::FQDN domainName;
00085         wns::service::nl::FQDN destinationDomainName;
00086         wns::service::nl::Address peerAddress;
00087         wns::service::tl::Port destinationPort;
00088         wns::service::tl::Service* udpService;
00089         wns::service::tl::ConnectionHandler* connectionHandler;
00090         wns::service::tl::Connection* connection;
00091         wns::service::qos::QoSClass qosClass;
00092 
00093         virtual std::string
00094         printAddress() const;
00095 
00096         constanze::Listener* listener;
00097 
00101         wns::logger::Logger log;
00102 
00104         long unsigned int packetCounter;
00105 
00107         long unsigned int bitCounter;
00108 
00109         unsigned int nodeID;
00110     };
00111 } //constanze
00112 
00113 #endif

Generated on Sat May 26 03:32:14 2012 for openWNS by  doxygen 1.5.5