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 */