2017-05-11 16:39:54 +02:00
|
|
|
// Copyright 2012 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package ipv4
|
|
|
|
|
2017-07-23 09:51:42 +02:00
|
|
|
import (
|
|
|
|
"net"
|
|
|
|
|
|
|
|
"golang.org/x/net/internal/socket"
|
|
|
|
)
|
2017-05-11 16:39:54 +02:00
|
|
|
|
|
|
|
// BUG(mikio): On Windows, the ControlMessage for ReadFrom and WriteTo
|
|
|
|
// methods of PacketConn is not implemented.
|
|
|
|
|
|
|
|
// A payloadHandler represents the IPv4 datagram payload handler.
|
|
|
|
type payloadHandler struct {
|
|
|
|
net.PacketConn
|
2017-07-23 09:51:42 +02:00
|
|
|
*socket.Conn
|
2017-05-11 16:39:54 +02:00
|
|
|
rawOpt
|
|
|
|
}
|
|
|
|
|
2017-07-23 09:51:42 +02:00
|
|
|
func (c *payloadHandler) ok() bool { return c != nil && c.PacketConn != nil && c.Conn != nil }
|