IBR-DTNSuite  0.8
daemon/src/routing/NodeHandshakeEvent.cpp
Go to the documentation of this file.
00001 /*
00002  * NodeHandshakeEvent.cpp
00003  *
00004  *  Created on: 08.12.2011
00005  *      Author: morgenro
00006  */
00007 
00008 #include "routing/NodeHandshakeEvent.h"
00009 
00010 namespace dtn
00011 {
00012         namespace routing
00013         {
00014                 NodeHandshakeEvent::NodeHandshakeEvent(HANDSHAKE_STATE s, const dtn::data::EID &p)
00015                  : state(s), peer(p)
00016                 {
00017                 }
00018 
00019                 NodeHandshakeEvent::~NodeHandshakeEvent()
00020                 {
00021                 }
00022 
00023                 const std::string NodeHandshakeEvent::getName() const
00024                 {
00025                         return NodeHandshakeEvent::className;
00026                 }
00027 
00028                 std::string NodeHandshakeEvent::toString() const
00029                 {
00030                         switch (state)
00031                         {
00032                         case HANDSHAKE_REPLIED:
00033                                 return getName() + ": replied to " + peer.getString();
00034                                 break;
00035                         case HANDSHAKE_COMPLETED:
00036                                 return getName() + ": completed with " + peer.getString();
00037                                 break;
00038                         case HANDSHAKE_UPDATED:
00039                                 return getName() + ": updated of " + peer.getString();
00040                                 break;
00041                         default:
00042                                 return getName() + ": " + peer.getString();
00043                         }
00044                 }
00045 
00046                 void NodeHandshakeEvent::raiseEvent(HANDSHAKE_STATE state, const dtn::data::EID &peer)
00047                 {
00048                         dtn::core::Event::raiseEvent( new NodeHandshakeEvent(state, peer) );
00049                 }
00050 
00051                 const string NodeHandshakeEvent::className = "NodeHandshakeEvent";
00052         } /* namespace routing */
00053 } /* namespace dtn */