m2etis
0.4
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
SpreadItRoutingInfo.h
Go to the documentation of this file.
1
/*
2
Copyright (2016) Michael Baer, Daniel Bonrath, All rights reserved.
3
4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7
8
http://www.apache.org/licenses/LICENSE-2.0
9
10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16
22
#ifndef __M2ETIS_MESSAGE_SPREADITROUTINGINFO_H__
23
#define __M2ETIS_MESSAGE_SPREADITROUTINGINFO_H__
24
25
#include "
m2etis/message/info/RoutingInfo.h
"
26
27
#include "boost/serialization/base_object.hpp"
28
29
namespace
m2etis
{
30
namespace
message {
31
32
template
<
class
NetworkType>
33
class
SpreadItRoutingInfo
:
public
RoutingInfo
<NetworkType> {
34
public
:
35
typedef
boost::shared_ptr<SpreadItRoutingInfo<NetworkType>>
Ptr
;
36
37
static
bool
doSerialize
(
ActionType
t) {
38
if
(t ==
NOTIFY
|| t ==
PUBLISH
|| t ==
JOIN
|| t ==
STATE
|| t ==
LEAVE
) {
39
return
false
;
40
}
41
42
return
true
;
43
}
44
45
/* serialized variables */
46
typename
NetworkType::Key
node_adress
;
47
48
private
:
49
friend
class
boost::serialization::access
;
50
51
template
<
typename
Archive>
52
void
serialize(Archive & ar,
const
unsigned
int
) {
53
ar & boost::serialization::base_object<RoutingInfo<NetworkType>>(*this);
54
ar &
node_adress
;
55
}
56
};
57
58
}
/* namespace message */
59
}
/* namespace m2etis */
60
61
#endif
/* __M2ETIS_MESSAGE_SPREADITROUTINGINFO_H__ */
62
m2etis::message::SpreadItRoutingInfo::Ptr
boost::shared_ptr< SpreadItRoutingInfo< NetworkType > > Ptr
Definition:
SpreadItRoutingInfo.h:35
m2etis::message::JOIN
Definition:
MessageType.h:44
RoutingInfo.h
m2etis::message::NOTIFY
Definition:
MessageType.h:43
m2etis::message::RoutingInfo
Definition:
RoutingInfo.h:31
m2etis::message::SpreadItRoutingInfo::node_adress
NetworkType::Key node_adress
Definition:
SpreadItRoutingInfo.h:46
m2etis::message::SpreadItRoutingInfo
Definition:
SpreadItRoutingInfo.h:33
m2etis::message::PUBLISH
Definition:
MessageType.h:41
m2etis::message::SpreadItRoutingInfo::access
friend class boost::serialization::access
Definition:
SpreadItRoutingInfo.h:49
m2etis::message::LEAVE
Definition:
MessageType.h:46
m2etis
Definition:
DetMergeConfigTest.h:20
m2etis::message::STATE
Definition:
MessageType.h:45
m2etis::message::ActionType
ActionType
Definition:
MessageType.h:37
m2etis::message::SpreadItRoutingInfo::doSerialize
static bool doSerialize(ActionType t)
Definition:
SpreadItRoutingInfo.h:37
Projekte
m2etis
library
include
m2etis
message
info
routing
SpreadItRoutingInfo.h
Generated on Mon Jan 25 2016 01:06:06 for m2etis by
1.8.9.1