...

Source file src/syscall/net.go

     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.
     4	
     5	package syscall
     6	
     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
    14	
    15		// Read invokes f on the underlying connection's file
    16		// descriptor or handle; f is expected to try to read from the
    17		// file descriptor.
    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
    24	
    25		// Write is like Read but for writing.
    26		Write(f func(fd uintptr) (done bool)) error
    27	}
    28	
    29	// Conn is implemented by some types in the net and os packages to provide
    30	// access to the underlying file descriptor or handle.
    31	type Conn interface {
    32		// SyscallConn returns a raw network connection.
    33		SyscallConn() (RawConn, error)
    34	}
    35	

View as plain text