go.net/ipv4: make use of net.PacketConn embedding
R=dave
CC=golang-dev
https://golang.org/cl/10319043
diff --git a/ipv4/endpoint.go b/ipv4/endpoint.go
index e8b320c..44bd2bc 100644
--- a/ipv4/endpoint.go
+++ b/ipv4/endpoint.go
@@ -18,15 +18,15 @@
}
type genericOpt struct {
- c net.Conn
+ net.Conn
}
-func (c *genericOpt) ok() bool { return c != nil && c.c != nil }
+func (c *genericOpt) ok() bool { return c != nil && c.Conn != nil }
// NewConn returns a new Conn.
func NewConn(c net.Conn) *Conn {
return &Conn{
- genericOpt: genericOpt{c},
+ genericOpt: genericOpt{Conn: c},
}
}
@@ -42,10 +42,10 @@
}
type dgramOpt struct {
- c net.PacketConn
+ net.PacketConn
}
-func (c *dgramOpt) ok() bool { return c != nil && c.c != nil }
+func (c *dgramOpt) ok() bool { return c != nil && c.PacketConn != nil }
// SetControlMessage sets the per packet IP-level socket options.
func (c *PacketConn) SetControlMessage(cf ControlFlags, on bool) error {
@@ -65,7 +65,7 @@
if !c.payloadHandler.ok() {
return syscall.EINVAL
}
- return c.payloadHandler.c.SetDeadline(t)
+ return c.payloadHandler.PacketConn.SetDeadline(t)
}
// SetReadDeadline sets the read deadline associated with the
@@ -74,7 +74,7 @@
if !c.payloadHandler.ok() {
return syscall.EINVAL
}
- return c.payloadHandler.c.SetReadDeadline(t)
+ return c.payloadHandler.PacketConn.SetReadDeadline(t)
}
// SetWriteDeadline sets the write deadline associated with the
@@ -83,7 +83,7 @@
if !c.payloadHandler.ok() {
return syscall.EINVAL
}
- return c.payloadHandler.c.SetWriteDeadline(t)
+ return c.payloadHandler.PacketConn.SetWriteDeadline(t)
}
// Close closes the endpoint.
@@ -91,16 +91,16 @@
if !c.payloadHandler.ok() {
return syscall.EINVAL
}
- return c.payloadHandler.c.Close()
+ return c.payloadHandler.PacketConn.Close()
}
// NewPacketConn returns a new PacketConn using c as its underlying
// transport.
func NewPacketConn(c net.PacketConn) *PacketConn {
return &PacketConn{
- genericOpt: genericOpt{c.(net.Conn)},
- dgramOpt: dgramOpt{c},
- payloadHandler: payloadHandler{c: c},
+ genericOpt: genericOpt{Conn: c.(net.Conn)},
+ dgramOpt: dgramOpt{PacketConn: c},
+ payloadHandler: payloadHandler{PacketConn: c},
}
}
@@ -166,8 +166,8 @@
// transport.
func NewRawConn(c net.PacketConn) (*RawConn, error) {
r := &RawConn{
- genericOpt: genericOpt{c.(net.Conn)},
- dgramOpt: dgramOpt{c},
+ genericOpt: genericOpt{Conn: c.(net.Conn)},
+ dgramOpt: dgramOpt{PacketConn: c},
packetHandler: packetHandler{c: c.(*net.IPConn)},
}
fd, err := r.packetHandler.sysfd()