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 |