50 , lastTime (
time(0) )
63 std::cerr <<
"&&&--- CountAndLimit::add \n";
64 std::cerr <<
"&&& Time now is " << now <<
"\n";
67 std::cerr <<
"&&& difftime is " << difftime( now, lastTime ) <<
"\n" 74 (difftime(now, lastTime) >= timespan) ) {
92 <<
"-- interval is " <<
interval <<
"\n";
95 if (
skipped < interval)
return false;
97 if ( limit == 0 )
return false;
98 if ( (limit < 0) || (
n <= limit )) {
106 if ( r*limit != diff ) {
115 if ( (r & 1) != 0 )
return false;
133 , ignoredFlag(
false )
157 #ifdef ELmapDumpTRACE 167 std::ostringstream
s;
168 s <<
"**** ELmap_limits Dump **** \n";
170 ELmap_limits::const_iterator
i;
171 for ( i = m.begin(); i != m.end(); ++
i ) {
173 s <<
" " << (*i).first <<
": " << lt.
limit <<
", " <<
176 s <<
"--------------------------------------------\n";
178 boost::shared_array<char>
dump(
new char[s.str().size()+1]);
179 strcpy(
dump.get(), s.str().c_str() );
LimitAndTimespan(int lim=-1, int ts=-1, int ivl=-1)
CountAndLimit(int lim=-1, int ts=-1, int ivl=-1)
void add(const ELstring &context, bool reactedTo)
std::map< ELstring, LimitAndTimespan > ELmap_limits