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:
898 bytes
|
Line | |
---|
1 | // transport_listener.hpp, created on 01.07.2009 by Sebastian Mies
|
---|
2 |
|
---|
3 | #ifndef TRANSPORT_LISTENER_HPP
|
---|
4 | #define TRANSPORT_LISTENER_HPP
|
---|
5 |
|
---|
6 | // ariba
|
---|
7 | #include "ariba/utility/transport/messages/buffers.hpp"
|
---|
8 |
|
---|
9 | // ariba interfaces
|
---|
10 | #include "transport_connection.hpp"
|
---|
11 |
|
---|
12 | // namespace ariba::transport
|
---|
13 | namespace ariba {
|
---|
14 | namespace transport {
|
---|
15 |
|
---|
16 | /**
|
---|
17 | * TODO: Doc
|
---|
18 | *
|
---|
19 | * @author Sebastian Mies <mies@tm.uka.de>
|
---|
20 | */
|
---|
21 | class transport_listener {
|
---|
22 | public:
|
---|
23 | /// Allow deleting implementing classes by pointer
|
---|
24 | virtual ~transport_listener() {}
|
---|
25 |
|
---|
26 | /// called when a message is received
|
---|
27 | virtual void receive_message(
|
---|
28 | transport_connection::sptr connection,
|
---|
29 | reboost::shared_buffer_t msg
|
---|
30 | ) = 0;
|
---|
31 |
|
---|
32 | /// called when a connection is terminated (e.g. TCP close)
|
---|
33 | virtual void connection_terminated(transport_connection::sptr connection) = 0;
|
---|
34 | };
|
---|
35 |
|
---|
36 | }} // namespace ariba::transport
|
---|
37 |
|
---|
38 |
|
---|
39 | #endif /* TRANSPORT_LISTENER_HPP */
|
---|
Note:
See
TracBrowser
for help on using the repository browser.