Michael Matz schrieb: [...]
s/typedef// Das ist C++. Was meinst Du denn damit?
[...]
Du brauchst mind. einen operator< auf dem Indextyp. Sonst kann keine map<> implementiert werden. Wie implementiere ich den?
Leider geht das so nicht. Ich bekomme folgende Fehlermeldung: trafana.cpp|78| error: template-argument ` || analyzeAllPackets(std::vector
&)::ltstr'
Diese Funktion z.B existiert in deinem snippet nicht.
Ups! struct ltstr { bool operator()( flow_key_t& s1, flow_key_t& s2 ) const { return( (s1.src_addr+s1.dst_addr) < (s2.src_addr+s2.dst_addr) ); } };
Die Frage ist natürlich auch, ob <map> für meinen Anwendungsfall überhaupt geeignet ist oder ob z.B. eine
besser geeignet ist? <map> ist ISO C++,
nicht (macht aber hier nichts aus). <map> benutzt nen red-black Tree zur Implementierung, ne Hashtabelle. _koennte_ schneller sein, kommt auf die Hashfunktion und die Daten an. Ich denke ich werde so ca. 100000 - 1000000 werte vorhalten müssen.
Sicher, dass du von so vielen unterschiedlichen Leuten connections bekommst?
Ich will ja nicht meinen eigenen Rechner analysieren, sondern das OC-3 Interface eines großen Internet Provider Routers. Viele Grüße Bastian