src/node/queue.h
changeset 378 32bd402ea5ea
parent 375 de64c081a2e0
child 439 fed13fb45eef
equal deleted inserted replaced
377:8fec8bed8a9e 378:32bd402ea5ea
    48   TraceResolver *CreateTraceResolver (TraceContext const &context);
    48   TraceResolver *CreateTraceResolver (TraceContext const &context);
    49 
    49 
    50   bool IsEmpty (void);
    50   bool IsEmpty (void);
    51   bool Enqueue (const Packet& p);
    51   bool Enqueue (const Packet& p);
    52   bool Dequeue (Packet &p);
    52   bool Dequeue (Packet &p);
       
    53   bool Peek (Packet &p);
    53 
    54 
    54   void DequeueAll (void);
    55   void DequeueAll (void);
    55   uint32_t GetNPackets (void);
    56   uint32_t GetNPackets (void);
    56   uint32_t GetNBytes (void);
    57   uint32_t GetNBytes (void);
    57 
    58 
    87 #endif
    88 #endif
    88 
    89 
    89 private:
    90 private:
    90   virtual bool DoEnqueue (const Packet& p) = 0;
    91   virtual bool DoEnqueue (const Packet& p) = 0;
    91   virtual bool DoDequeue (Packet &p) = 0;
    92   virtual bool DoDequeue (Packet &p) = 0;
       
    93   virtual bool DoPeek (Packet &p) = 0;
    92 
    94 
    93 protected:
    95 protected:
    94   // called by subclasses to notify parent of packet drops.
    96   // called by subclasses to notify parent of packet drops.
    95   void Drop (const Packet& p);
    97   void Drop (const Packet& p);
    96 
    98