IBR-DTNSuite
0.10
Main Page
Namespaces
Classes
Files
File List
File Members
StreamBlock.cpp
Go to the documentation of this file.
1
/*
2
* StreamBlock.cpp
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
#include "
ibrdtn/data/StreamBlock.h
"
23
24
namespace
dtn
25
{
26
namespace
data
27
{
28
const
dtn::data::block_t
StreamBlock::BLOCK_TYPE
= 242;
29
30
dtn::data::Block
*
StreamBlock::Factory::create
()
31
{
32
return
new
StreamBlock
();
33
}
34
35
StreamBlock::StreamBlock
()
36
: dtn::data::
Block
(
StreamBlock
::
BLOCK_TYPE
), _seq(0)
37
{
38
}
39
40
StreamBlock::~StreamBlock
()
41
{
42
43
}
44
45
Length
StreamBlock::getLength
()
const
46
{
47
return
_streamflags.
getLength
() + _seq.
getLength
();
48
}
49
50
std::ostream&
StreamBlock::serialize
(std::ostream &stream,
Length
&)
const
51
{
52
stream << _streamflags;
53
stream << _seq;
54
return
stream;
55
}
56
57
std::istream&
StreamBlock::deserialize
(std::istream &stream,
const
Length
&)
58
{
59
stream >> _streamflags;
60
stream >> _seq;
61
return
stream;
62
}
63
64
void
StreamBlock::set
(
STREAM_FLAGS
flag,
const
bool
&value)
65
{
66
_streamflags.
setBit
(flag, value);
67
}
68
69
bool
StreamBlock::get
(
STREAM_FLAGS
flag)
const
70
{
71
return
_streamflags.
getBit
(flag);
72
}
73
74
void
StreamBlock::setSequenceNumber
(
Number
seq)
75
{
76
_seq = seq;
77
}
78
79
const
Number
&
StreamBlock::getSequenceNumber
()
const
80
{
81
return
_seq;
82
}
83
}
/* namespace data */
84
}
/* namespace dtn */
ibrdtn
ibrdtn
data
StreamBlock.cpp
Generated on Mon Jul 22 2013 15:16:01 for IBR-DTNSuite by
1.8.3.1