CXXFLAGS_debug = [ '-O0', '-g' ],
CPPDEFINES = [ '$expandLogOption', '$CPPDEFINES_' ],
- CPPDEFINES_final = [ 'SENF_PPI_NOTRACE', 'BOOST_NO_MT' ],
+ CPPDEFINES_final = [ 'SENF_PPI_NOTRACE', 'BOOST_NO_MT', 'NDEBUG', 'BOOST_DISABLE_ASSERTS' ],
CPPDEFINES_normal = [ 'SENF_DEBUG' ],
CPPDEFINES_debug = [ '$CPPDEFINES_normal' ],
connector::ActiveOutput<typename Reader::PacketType> output;
///< Output connector to which the data received is written
- ActiveBurstSocketSource(unsigned max_burst);
- explicit ActiveBurstSocketSource(Reader reader, unsigned max_burst);
- explicit ActiveBurstSocketSource(Handle const & handle, unsigned max_burst);
- ActiveBurstSocketSource(Handle const & handle, Reader reader, unsigned max_burst);
+ ActiveBurstSocketSource(unsigned max_burst=0);
+ explicit ActiveBurstSocketSource(Reader reader, unsigned max_burst=0);
+ explicit ActiveBurstSocketSource(Handle const & handle, unsigned max_burst=0);
+ ActiveBurstSocketSource(Handle const & handle, Reader reader, unsigned max_burst=0);
Reader & reader(); ///< Access Reader helper
Handle handle(); ///< Access handle
BOOST_CHECK( Reg::lookup<ComplexAnnotation>() < 0 );
BOOST_CHECK( Reg::lookup<ComplexEmptyAnnotation>() < 0 );
-#ifdef SENF_DEBUG
std::stringstream ss;
-
senf::dumpPacketAnnotationRegistry(ss);
BOOST_CHECK_EQUAL(
ss.str(),
"(anonymous namespace)::ComplexEmptyAnnotation no yes 1\n"
"(anonymous namespace)::IntAnnotation yes no 4\n"
"(anonymous namespace)::LargeAnnotation no no 32\n" );
-#endif
}
#ifdef COMPILE_CHECK
// b) 'self'
// c) Those that come afterwards
// For a), the change must be inside the packet since 'self' must be within those packets
- // For b), the change must also be within since that's the packet we are changeing
+ // For b), the change must also be within since that's the packet we are changing
// For c), the change must be outside the packet (we don't allow an upper packet to mess with
// the the data owned by a packet further down the chain). It can be before or after the
// packet.
interpreter_list::iterator const i_end (interpreters_.end());
if (++i != i_end)
if (pos <= difference_type(i->begin_))
- // pos is before the packet, it must then be before all futher packets ...
+ // pos is before the packet, it must then be before all further packets ...
for (; i != i_end; ++i) {
i->begin_ += n;
i->end_ += n;
prefix_ void senf::detail::AnnotationRegistry::dumpRegistrations(std::ostream & os)
{
-#ifdef SENF_DEBUG
boost::format fmt ("%-56.56s %-4.4s %-7.7s %5d\n");
os << "SENF_PACKET_ANNOTATION_SLOTS = " << SENF_PACKET_ANNOTATION_SLOTS << "\n"
<< "SENF_PACKET_ANNOTATION_SLOTSIZE = " << SENF_PACKET_ANNOTATION_SLOTSIZE << "\n";
% (isComplex(key) ? "yes" : "no")
% size(key);
}
-#endif
}
prefix_ void senf::dumpPacketAnnotationRegistry(std::ostream & os)
Fast annotations are considerable faster than complex and slow annotations. However, only
annotations which do not need constructor or destructor calls and which may be
- zero-initialized (on the memory level) are elegible as fast annotations.
+ zero-initialized (on the memory level) are legible as fast annotations.
It is thus desirable to eliminate any complex and slow annotations, if possible. To optimize
the annotation system, you may take the following steps: