Documentation
¶
Index ¶
- Constants
- func ChanToWriter(writer io.Writer, stream <-chan *alloc.Buffer) error
- func ReadAllBytes(reader io.Reader, buffer []byte) (int, error)
- func ReadFrom(reader io.Reader, buffer *alloc.Buffer) (*alloc.Buffer, error)
- func ReaderToChan(stream chan<- *alloc.Buffer, reader io.Reader) error
- type Address
- type Destination
- type DomainAddressImpl
- type IPv4Address
- type IPv6Address
- type Network
- type NetworkList
- type Packet
- type PortAddress
- type PortRange
- type TCPDestination
- type TimeOutReader
- type UDPDestination
Constants ¶
const (
TCPNetwork = Network("tcp")
UDPNetwork = Network("udp")
)
Variables ¶
This section is empty.
Functions ¶
func ChanToWriter ¶
func ChanToWriter(writer io.Writer, stream <-chan *alloc.Buffer) error
ChanToWriter dumps all content from a given chan to a writer until the chan is closed.
func ReadAllBytes ¶ added in v0.14.1
func ReadAllBytes(reader io.Reader, buffer []byte) (int, error)
ReadAllBytes reads all bytes required from reader, if no error happens.
func ReadFrom ¶ added in v0.9.1
func ReadFrom(reader io.Reader, buffer *alloc.Buffer) (*alloc.Buffer, error)
ReadFrom reads from a reader and put all content to a buffer. If buffer is nil, ReadFrom creates a new normal buffer.
func ReaderToChan ¶
func ReaderToChan(stream chan<- *alloc.Buffer, reader io.Reader) error
ReaderToChan dumps all content from a given reader to a chan by constantly reading it until EOF.
Types ¶
type Address ¶
type Address interface {
IP() net.IP // IP of this Address
Domain() string // Domain of this Address
Port() uint16 // Port of this Address
PortBytes() []byte // Port in bytes, network byte order
IsIPv4() bool // True if this Address is an IPv4 address
IsIPv6() bool // True if this Address is an IPv6 address
IsDomain() bool // True if this Address is an domain address
String() string // String representation of this Address
}
Address represents a network address to be communicated with. It may be an IP address or domain address, not both. This interface doesn't resolve IP address for a given domain.
func DomainAddress ¶
func DomainAddress(domain string, port uint16) Address
DomainAddress creates an Address with given domain and port.
type Destination ¶
type Destination interface {
Network() string // Protocol of communication (tcp / udp)
Address() Address // Address of destination
String() string // String representation of the destination
IsTCP() bool // True if destination is reachable via TCP
IsUDP() bool // True if destination is reachable via UDP
}
Destination represents a network destination including address and protocol (tcp / udp).
func NewTCPDestination ¶
func NewTCPDestination(address Address) Destination
NewTCPDestination creates a TCP destination with given address
func NewUDPDestination ¶
func NewUDPDestination(address Address) Destination
NewUDPDestination creates a UDP destination with given address
type DomainAddressImpl ¶
type DomainAddressImpl struct {
PortAddress
// contains filtered or unexported fields
}
type IPv4Address ¶
type IPv4Address struct {
PortAddress
// contains filtered or unexported fields
}
type IPv6Address ¶
type IPv6Address struct {
PortAddress
// contains filtered or unexported fields
}
type NetworkList ¶ added in v0.14.1
type NetworkList interface {
HasNetwork(Network) bool
}
type Packet ¶
type Packet interface {
Destination() Destination
Chunk() *alloc.Buffer // First chunk of this commnunication
MoreChunks() bool
}
Packet is a network packet to be sent to destination.
type PortAddress ¶
type PortAddress struct {
// contains filtered or unexported fields
}
type TCPDestination ¶
type TCPDestination struct {
// contains filtered or unexported fields
}
type TimeOutReader ¶
type TimeOutReader struct {
// contains filtered or unexported fields
}
func NewTimeOutReader ¶
func NewTimeOutReader(timeout int, connection net.Conn) *TimeOutReader
func (*TimeOutReader) GetTimeOut ¶ added in v0.9.1
func (reader *TimeOutReader) GetTimeOut() int
func (*TimeOutReader) SetTimeOut ¶ added in v0.9.1
func (reader *TimeOutReader) SetTimeOut(value int)
type UDPDestination ¶
type UDPDestination struct {
// contains filtered or unexported fields
}