Changeset 12060 for etc/pingpong


Ignore:
Timestamp:
Jun 19, 2013, 11:05:49 AM (11 years ago)
Author:
hock@…
Message:

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.

Location:
etc/pingpong
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • etc/pingpong/settings_node1.cnf

    r7532 r12060  
    1 node.name = nodeone
    2 ariba.endpoints = tcp{5003}
    3 ariba.bootstrap.hints=pingpong{ip{127.0.0.1};tcp{5002};broadcast}
    41
    5 pingpong.name = nodeone
     2//JSON
     3{
     4    "ariba": {
     5        "spovnet_name": "pingpong",
     6       
     7        "listen_on": [
     8            {"category": "TCPIP", "addr": "::", "port": 5003 }
     9        ],
     10       
     11        "bootstrap": {
     12            "direct": [
     13                {"category": "TCPIP", "addr": "127.0.0.1", "port": 41322 }
     14            ],
     15           
     16            "broadcast": false,
     17            "mdns": false,
     18            "sdp": false
     19        }
     20    }
     21}
    622
     23
     24
     25//node.name = nodeone
     26//ariba.endpoints = JSON { "endpoint_set": [ {"category": "TCPIP", "addr": "::", "port": 5003 } ] }
     27//ariba.bootstrap.hints=pingpong{broadcast;mdns;}
     28
     29//pingpong.name = nodeone
     30
  • etc/pingpong/settings_node2.cnf

    r6179 r12060  
    1 node.name = nodetwo
    2 ariba.endpoints = tcp{5004}
    3 ariba.bootstrap.hints=pingpong{ip{127.0.0.1};tcp{5002}}
     1//JSON
     2{
     3    "ariba": {
     4        "spovnet_name": "pingpong",
     5       
     6        "listen_on": [
     7            {"category": "TCPIP", "addr": "::", "port": 0 }
     8        ],
     9       
     10        "bootstrap": {
     11            "direct": [
     12                {"category": "TCPIP", "addr": "127.0.0.1", "port": 5003 }
     13            ],
     14           
     15            "broadcast": false,
     16            "mdns": false,
     17            "sdp": false
     18        }
     19    }
     20}
    421
    5 pingpong.name = nodetwo
Note: See TracChangeset for help on using the changeset viewer.