src/internet-stack/ipv4-end-point.h
changeset 3820 c04ecfdce1ef
parent 3266 1ae7df5cf87b
child 4022 142c13a3975f
equal deleted inserted replaced
3819:37b316422064 3820:c04ecfdce1ef
    52   Ipv4Address GetPeerAddress (void);
    52   Ipv4Address GetPeerAddress (void);
    53   uint16_t GetPeerPort (void);
    53   uint16_t GetPeerPort (void);
    54 
    54 
    55   void SetPeer (Ipv4Address address, uint16_t port);
    55   void SetPeer (Ipv4Address address, uint16_t port);
    56 
    56 
       
    57   // Called from socket implementations to get notified about important events.
    57   void SetRxCallback (Callback<void,Ptr<Packet>, Ipv4Address, uint16_t> callback);
    58   void SetRxCallback (Callback<void,Ptr<Packet>, Ipv4Address, uint16_t> callback);
       
    59   void SetIcmpCallback (Callback<void,Ipv4Address,uint8_t,uint8_t,uint8_t,uint32_t> callback);
    58   void SetDestroyCallback (Callback<void> callback);
    60   void SetDestroyCallback (Callback<void> callback);
    59 
    61 
       
    62   // Called from an L4Protocol implementation to notify an endpoint of a
       
    63   // packet reception.
    60   void ForwardUp (Ptr<Packet> p, Ipv4Address saddr, uint16_t sport);
    64   void ForwardUp (Ptr<Packet> p, Ipv4Address saddr, uint16_t sport);
       
    65   // Called from an L4Protocol implementation to notify an endpoint of
       
    66   // an icmp message reception.
       
    67   void ForwardIcmp (Ipv4Address icmpSource, uint8_t icmpTtl, 
       
    68                     uint8_t icmpType, uint8_t icmpCode,
       
    69                     uint32_t icmpInfo);
    61 
    70 
    62 private:
    71 private:
    63   Ipv4Address m_localAddr;
    72   Ipv4Address m_localAddr;
    64   uint16_t m_localPort;
    73   uint16_t m_localPort;
    65   Ipv4Address m_peerAddr;
    74   Ipv4Address m_peerAddr;
    66   uint16_t m_peerPort;
    75   uint16_t m_peerPort;
    67   Callback<void,Ptr<Packet>, Ipv4Address, uint16_t> m_rxCallback;
    76   Callback<void,Ptr<Packet>, Ipv4Address, uint16_t> m_rxCallback;
       
    77   Callback<void,Ipv4Address,uint8_t,uint8_t,uint8_t,uint32_t> m_icmpCallback;
    68   Callback<void> m_destroyCallback;
    78   Callback<void> m_destroyCallback;
    69 };
    79 };
    70 
    80 
    71 }; // namespace ns3
    81 }; // namespace ns3
    72 
    82