48 static TypeId GetTypeId (void); |
48 static TypeId GetTypeId (void); |
49 |
49 |
50 UdpSocket (void); |
50 UdpSocket (void); |
51 virtual ~UdpSocket (void); |
51 virtual ~UdpSocket (void); |
52 |
52 |
53 virtual enum Socket::SocketErrno GetErrno (void) const = 0; |
|
54 virtual Ptr<Node> GetNode (void) const = 0; |
|
55 virtual int Bind () = 0; |
|
56 virtual int Close (void) = 0; |
|
57 virtual int ShutdownSend (void) = 0; |
|
58 virtual int ShutdownRecv (void) = 0; |
|
59 virtual int Connect (const Address &address) = 0; |
|
60 virtual uint32_t GetTxAvailable (void) const = 0; |
|
61 virtual int Send (Ptr<Packet> p, uint32_t flags) = 0; |
|
62 virtual int SendTo (Ptr<Packet> p, uint32_t flags, |
|
63 const Address &toAddress) = 0; |
|
64 virtual uint32_t GetRxAvailable (void) const = 0; |
|
65 virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags) = 0; |
|
66 virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags, |
|
67 Address &fromAddress) = 0; |
|
68 |
|
69 private: |
53 private: |
70 // Indirect the attribute setting and getting through private virtual methods |
54 // Indirect the attribute setting and getting through private virtual methods |
71 virtual void SetRcvBufSize (uint32_t size) = 0; |
55 virtual void SetRcvBufSize (uint32_t size) = 0; |
72 virtual uint32_t GetRcvBufSize (void) const = 0; |
56 virtual uint32_t GetRcvBufSize (void) const = 0; |
73 virtual void SetIpTtl (uint32_t ipTtl) = 0; |
57 virtual void SetIpTtl (uint32_t ipTtl) = 0; |