IBR-DTNSuite
0.12
Main Page
Namespaces
Classes
Files
File List
File Members
IBR-DTNSuite
Namespaces
Classes
Files
File List
daemon
ibrcommon
ibrdtn
ibrdtn
api
data
AdministrativeBlock.cpp
AdministrativeBlock.h
AgeBlock.cpp
AgeBlock.h
Block.cpp
Block.h
Bundle.cpp
Bundle.h
BundleBuilder.cpp
BundleBuilder.h
BundleFragment.cpp
BundleFragment.h
BundleID.cpp
BundleID.h
BundleList.cpp
BundleList.h
BundleMerger.cpp
BundleMerger.h
BundleSet.cpp
BundleSet.h
BundleSetImpl.cpp
BundleSetImpl.h
BundleString.cpp
BundleString.h
CompressedPayloadBlock.cpp
CompressedPayloadBlock.h
CustodySignalBlock.cpp
CustodySignalBlock.h
Dictionary.cpp
Dictionary.h
DTNTime.cpp
DTNTime.h
EID.cpp
EID.h
Endianess.cpp
Endianess.h
Exceptions.h
ExtensionBlock.cpp
ExtensionBlock.h
MemoryBundleSet.cpp
MemoryBundleSet.h
MetaBundle.cpp
MetaBundle.h
Number.h
PayloadBlock.cpp
PayloadBlock.h
PrimaryBlock.cpp
PrimaryBlock.h
SchedulingBlock.cpp
SchedulingBlock.h
ScopeControlHopLimitBlock.cpp
ScopeControlHopLimitBlock.h
SDNV.cpp
SDNV.h
Serializer.cpp
Serializer.h
StatusReportBlock.cpp
StatusReportBlock.h
StreamBlock.cpp
StreamBlock.h
TrackingBlock.cpp
TrackingBlock.h
security
streams
utils
config.h
dummy.cpp
ibrdtn.h
tools
File Members
BundleID.h
Go to the documentation of this file.
1
/*
2
* BundleID.h
3
*
4
* Copyright (C) 2011 IBR, TU Braunschweig
5
*
6
* Written-by: Johannes Morgenroth <morgenroth@ibr.cs.tu-bs.de>
7
*
8
* Licensed under the Apache License, Version 2.0 (the "License");
9
* you may not use this file except in compliance with the License.
10
* You may obtain a copy of the License at
11
*
12
* http://www.apache.org/licenses/LICENSE-2.0
13
*
14
* Unless required by applicable law or agreed to in writing, software
15
* distributed under the License is distributed on an "AS IS" BASIS,
16
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
* See the License for the specific language governing permissions and
18
* limitations under the License.
19
*
20
*/
21
22
#ifndef BUNDLEID_H_
23
#define BUNDLEID_H_
24
25
#include "
ibrdtn/data/Number.h
"
26
#include "
ibrdtn/data/EID.h
"
27
#include <
ibrcommon/data/BloomFilter.h
>
28
29
namespace
dtn
30
{
31
namespace
data
32
{
33
class
BundleID
34
{
35
public
:
36
BundleID
();
37
virtual
~BundleID
();
38
39
bool
operator!=
(
const
BundleID
& other)
const
;
40
bool
operator==
(
const
BundleID
& other)
const
;
41
bool
operator<
(
const
BundleID
& other)
const
;
42
bool
operator>
(
const
BundleID
& other)
const
;
43
44
// copy operator
45
BundleID
(
const
BundleID
&
id
);
46
BundleID
&
operator=
(
const
BundleID
&
id
);
47
48
std::string
toString
()
const
;
49
50
friend
std::ostream &
operator<<
(std::ostream &stream,
const
BundleID
&obj);
51
friend
std::istream &
operator>>
(std::istream &stream,
BundleID
&obj);
52
53
dtn::data::EID
source
;
54
dtn::data::Timestamp
timestamp
;
55
dtn::data::Number
sequencenumber
;
56
57
dtn::data::Number
fragmentoffset
;
58
59
virtual
dtn::data::Length
getPayloadLength
()
const
;
60
virtual
void
setPayloadLength
(
const
dtn::data::Length
&value);
61
62
virtual
bool
isFragment
()
const
;
63
virtual
void
setFragment
(
bool
val);
64
68
void
addTo
(
ibrcommon::BloomFilter
&bf)
const
;
69
73
bool
isIn
(
const
ibrcommon::BloomFilter
&bf)
const
;
74
78
size_t
raw
(
unsigned
char
*data,
size_t
len)
const
;
79
80
private
:
81
static
const
unsigned
int
RAW_LENGTH_MAX;
82
bool
_fragment;
83
dtn::data::Length
_payloadlength;
84
};
85
}
86
}
87
88
#endif
/* BUNDLEID_H_ */
ibrdtn
ibrdtn
data
BundleID.h
Generated on Thu Mar 27 2014 09:26:21 for IBR-DTNSuite by
1.8.4