View | Details | Raw Unified | Return to bug 283
Collapse All | Expand All

(-)a/src/internet-stack/tcp-socket-impl.cc (+9 lines)
 Lines 544-549    Link Here 
544
      fromAddress = tag.GetAddress ();
544
      fromAddress = tag.GetAddress ();
545
    }
545
    }
546
  return packet;
546
  return packet;
547
}
548
549
int
550
TcpSocketImpl::GetSockName (Address &address) const
551
{
552
  NS_LOG_FUNCTION_NOARGS ();
553
554
  address = InetSocketAddress(m_localAddress, m_localPort);
555
  return 0;
547
}
556
}
548
557
549
void
558
void
(-)a/src/internet-stack/tcp-socket-impl.h (+1 lines)
 Lines 93-98    Link Here 
93
  virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags);
93
  virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags);
94
  virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags,
94
  virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags,
95
    Address &fromAddress);
95
    Address &fromAddress);
96
  virtual int GetSockName (Address &address) const; 
96
97
97
private:
98
private:
98
  friend class Tcp;
99
  friend class Tcp;
(-)a/src/internet-stack/udp-socket-impl.cc (+8 lines)
 Lines 435-440    Link Here 
435
  return packet;
435
  return packet;
436
}
436
}
437
437
438
int
439
UdpSocketImpl::GetSockName (Address &address) const
440
{
441
  NS_LOG_FUNCTION_NOARGS ();
442
  address = InetSocketAddress (m_endPoint->GetLocalAddress (), m_endPoint->GetLocalPort());
443
  return 0;
444
}
445
438
void 
446
void 
439
UdpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Address ipv4, uint16_t port)
447
UdpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Address ipv4, uint16_t port)
440
{
448
{
(-)a/src/internet-stack/udp-socket-impl.h (+1 lines)
 Lines 72-77    Link Here 
72
  virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags);
72
  virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags);
73
  virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags,
73
  virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags,
74
    Address &fromAddress);
74
    Address &fromAddress);
75
  virtual int GetSockName (Address &address) const; 
75
76
76
private:
77
private:
77
  // Attributes set through UdpSocket base class 
78
  // Attributes set through UdpSocket base class 
(-)a/src/node/packet-socket.cc (+22 lines)
 Lines 432-435    Link Here 
432
  return packet;
432
  return packet;
433
}
433
}
434
434
435
int
436
PacketSocket::GetSockName (Address &address) const
437
{
438
  NS_LOG_FUNCTION_NOARGS ();
439
  PacketSocketAddress ad;
440
  
441
  ad.SetProtocol (m_protocol);
442
  if (m_isSingleDevice)
443
    {
444
      ad.SetSingleDevice (m_device);
445
    }
446
  else
447
    {
448
      ad.SetAllDevices ();
449
    }
450
  //not sure about this line
451
  ad.SetPhysicalAddress (m_destAddr);
452
  address = ad;
453
  
454
  return 0;
455
}
456
435
}//namespace ns3
457
}//namespace ns3
(-)a/src/node/packet-socket.h (+1 lines)
 Lines 101-106    Link Here 
101
  virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags);
101
  virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags);
102
  virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags,
102
  virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags,
103
    Address &fromAddress);
103
    Address &fromAddress);
104
  virtual int GetSockName (Address &address) const; 
104
105
105
private:
106
private:
106
  void ForwardUp (Ptr<NetDevice> device, Ptr<const Packet> packet, 
107
  void ForwardUp (Ptr<NetDevice> device, Ptr<const Packet> packet, 
(-)a/src/node/socket.h (+5 lines)
 Lines 493-498    Link Here 
493
  int RecvFrom (uint8_t* buf, uint32_t size, uint32_t flags,
493
  int RecvFrom (uint8_t* buf, uint32_t size, uint32_t flags,
494
                Address &fromAddress);
494
                Address &fromAddress);
495
 
495
 
496
  /**
497
   * \returns the address name this socket is associated with.
498
   */
499
  virtual int GetSockName (Address &address) const = 0; 
500
 
496
protected:
501
protected:
497
  void NotifyConnectionSucceeded (void);
502
  void NotifyConnectionSucceeded (void);
498
  void NotifyConnectionFailed (void);
503
  void NotifyConnectionFailed (void);

Return to bug 283