1 // Copyright 2017 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
7 // A RawConn is a raw network connection.
8 type RawConn
interface {
9 // Control invokes f on the underlying connection's file
10 // descriptor or handle.
11 // The file descriptor fd is guaranteed to remain valid while
12 // f executes but not after f returns.
13 Control(f
func(fd
uintptr)) error
15 // Read invokes f on the underlying connection's file
16 // descriptor or handle; f is expected to try to read from the
18 // If f returns true, Read returns. Otherwise Read blocks
19 // waiting for the connection to be ready for reading and
20 // tries again repeatedly.
21 // The file descriptor is guaranteed to remain valid while f
22 // executes but not after f returns.
23 Read(f
func(fd
uintptr) (done
bool)) error
25 // Write is like Read but for writing.
26 Write(f
func(fd
uintptr) (done
bool)) error
29 // Conn is implemented by some types in the net package to provide
30 // access to the underlying file descriptor or handle.
32 // SyscallConn returns a raw network connection.
33 SyscallConn() (RawConn
, error
)