28 #include <ibrcommon/Logger.h>
30 #ifdef __DEVELOPMENT_ASSERTIONS__
42 : dtn::data::DefaultSerializer(stream), _ignore(ignore), _ignore_previous_bundles(ignore != NULL)
53 if (_ignore != NULL) _ignore_previous_bundles =
true;
57 _stream << dtn::data::BUNDLE_VERSION;
60 (*this) << (obj.
procflags & 0x0000000007C1BE);
83 if (_ignore_previous_bundles && (&obj != _ignore))
90 _ignore_previous_bundles =
false;
106 #ifdef __DEVELOPMENT_ASSERTIONS__
112 for (dtn::data::Block::eid_list::const_iterator it = eids.begin(); it != eids.end(); ++it)
125 }
catch (
const std::bad_cast&) {
139 #ifdef __DEVELOPMENT_ASSERTIONS__
164 length +=
static_cast<uint32_t
>(2 *
sdnv_size);
166 length +=
static_cast<uint32_t
>(
sdnv_size);
168 IBRCOMMON_LOGGER_DEBUG_ex(ibrcommon::Logger::LOGGER_DEBUG) <<
"length: " << length << IBRCOMMON_LOGGER_ENDL;
183 #ifdef __DEVELOPMENT_ASSERTIONS__
189 for (dtn::data::Block::eid_list::const_iterator it = eids.begin(); it != eids.end(); ++it)
190 len += it->getString().size();
200 }
catch (
const std::bad_cast&) {
212 _stream.write(reinterpret_cast<char*>(&be),
sizeof(uint32_t));
218 uint32_t length =
static_cast<uint32_t
>(value.
getString().length());
229 _stream.write(reinterpret_cast<char*>(&be),
sizeof(uint64_t));
Bitset< FLAGS > procflags
MutableSerializer(std::ostream &stream, const dtn::data::Block *ignore=NULL)
bool get(ProcFlags flag) const
virtual ~MutableSerializer()
dtn::data::Timestamp timestamp
virtual std::ostream & serialize(std::ostream &stream, Length &length) const =0
std::list< dtn::data::EID > eid_list
virtual dtn::data::Length getLength(const dtn::data::Bundle &obj)
dtn::data::Length getLength() const
const std::string toString() const
dtn::data::Number sequencenumber
virtual MutableSerializer & serialize_mutable(MutableSerializer &serializer, bool include_security_result=true) const
virtual const eid_list & getEIDList() const
static const dtn::data::block_t BLOCK_TYPE
virtual Length getLength() const =0
std::string getString() const
virtual dtn::data::Length getLength_mutable() const
const Bitset< ProcFlags > & getProcessingFlags() const
dtn::data::SDNV< Size > Number
virtual Serializer & operator<<(const dtn::data::PrimaryBlock &obj)
const block_t & getType() const
static const dtn::data::Length sdnv_size