source: source/ariba/overlay/messages/LinkRequest.h@ 4618

Last change on this file since 4618 was 4618, checked in by Christoph Mayer, 15 years ago

alle uint_8 auf uint_16 welche an serialisierung beteiligt sind

File size: 1.2 KB
Line 
1#ifndef ARIBA_OVERLAY_LINKREQUEST_H_
2#define ARIBA_OVERLAY_LINKREQUEST_H_
3
4#include "ariba/utility/messages.h"
5#include "ariba/utility/serialization.h"
6#include "ariba/communication/EndpointDescriptor.h"
7
8using ariba::communication::EndpointDescriptor;
9
10namespace ariba {
11namespace overlay {
12
13using_serialization;
14
15using ariba::utility::Message;
16
17/**
18 * This message is sent to another overlay node to request a new link.
19 *
20 * @author Sebastian Mies <mies@tm.uka.de>
21 */
22class LinkRequest : public Message {
23 VSERIALIZEABLE;
24private:
25 bool free_endpoint_;
26 uint16_t flags; //TODO: was uint8_t
27 uint32_t nonce;
28 const EndpointDescriptor* endpoint;
29
30public:
31 LinkRequest();
32
33 LinkRequest( uint32_t nonce, const EndpointDescriptor* endpoint,
34 bool reply = false );
35
36 virtual ~LinkRequest();
37
38 const EndpointDescriptor* getEndpoint() const {
39 return endpoint;
40 }
41
42 bool isReply() const {
43 return flags & 1;
44 }
45
46 uint32_t getNonce() const {
47 return nonce;
48 }
49};
50
51}} // ariba::overlay
52
53sznBeginDefault( ariba::overlay::LinkRequest, X ) {
54 if (X.isDeserializer()) endpoint = new EndpointDescriptor();
55 X && flags && nonce && reinterpret_cast<VSerializeable*>(const_cast<EndpointDescriptor*>(endpoint));
56} sznEnd();
57
58#endif /* ARIBA_OVERLAY_LINKREQUEST_H_ */
Note: See TracBrowser for help on using the repository browser.