source: trash/pingpong/PingPongMessage.h@ 12060

Last change on this file since 12060 was 12060, checked in by hock@…, 11 years ago

Reintegrate branch: 20130111-hock-message_classes

improvements:

  • new message classes (reboost, zero-copy)
  • "fast path" for direct links (skip overlay layer)
  • link-properties accessible from the application
  • SystemQueue can call boost::bind functions
  • protlib compatibility removed (32bit overhead saved in every message)
  • addressing2
  • AddressDiscovery discoveres only addresses on which we're actually listening
  • ariba serialization usage reduced (sill used in OverlayMsg)
  • Node::connect, easier and cleaner interface to start-up ariba from the application
  • ariba configs via JSON, XML, etc (boost::property_tree)
  • keep-alive overhead greatly reduced
  • (relayed) overlay links can actually be closed now
  • lost messages are detected in most cases
  • notification to the application when link is transformed into direct-link
  • overlay routing: send message to second best hop if it would be dropped otherwise
  • SequenceNumbers (only mechanisms, so for: upward compatibility)
  • various small fixes


regressions:

  • bluetooth is not yet working again
  • bootstrap modules deactivated
  • liblog4xx is not working (use cout-logging)

This patch brings great performance and stability improvements at cost of backward compatibility.
Also bluetooth and the bootstrap modules have not been ported to the new interfaces, yet.

File size: 714 bytes
Line 
1#ifndef PINGPONGMESSAGES_H_
2#define PINGPONGMESSAGES_H_
3
4#include <string>
5#include "ariba/utility/messages.h"
6#include "ariba/utility/serialization.h"
7#include "ariba/utility/misc/Helper.h"
8
9using std::string;
10using ariba::utility::Message;
11
12namespace ariba {
13namespace application {
14namespace pingpong {
15
16using_serialization;
17
18class PingPongMessage : public Message {
19 VSERIALIZEABLE;
20public:
21 PingPongMessage();
22 PingPongMessage(uint8_t _id);
23 virtual ~PingPongMessage();
24
25 string info();
26 uint8_t getid();
27
28private:
29 uint8_t id;
30};
31
32}}} // namespace ariba, appplication , pingpong
33
34sznBeginDefault( ariba::application ::pingpong::PingPongMessage, X ) {
35 X && id;
36} sznEnd();
37
38#endif /* PINGPONGMESSAGES_H_ */
Note: See TracBrowser for help on using the repository browser.