fasthttp: github.com/valyala/fasthttp/fasthttputil Index | Files

package fasthttputil

import "github.com/valyala/fasthttp/fasthttputil"

Package fasthttputil provides utility functions for fasthttp.

Index

Package Files

doc.go inmemory_listener.go pipeconns.go

Variables

var (

    // ErrTimeout is returned from Read() or Write() on timeout.
    ErrTimeout = errors.New("timeout")
)

type InmemoryListener Uses

type InmemoryListener struct {
    // contains filtered or unexported fields
}

InmemoryListener provides in-memory dialer<->net.Listener implementation.

It may be used either for fast in-process client<->server communications without network stack overhead or for client<->server tests.

func NewInmemoryListener Uses

func NewInmemoryListener() *InmemoryListener

NewInmemoryListener returns new in-memory dialer<->net.Listener.

func (*InmemoryListener) Accept Uses

func (ln *InmemoryListener) Accept() (net.Conn, error)

Accept implements net.Listener's Accept.

It is safe calling Accept from concurrently running goroutines.

Accept returns new connection per each Dial call.

func (*InmemoryListener) Addr Uses

func (ln *InmemoryListener) Addr() net.Addr

Addr implements net.Listener's Addr.

func (*InmemoryListener) Close Uses

func (ln *InmemoryListener) Close() error

Close implements net.Listener's Close.

func (*InmemoryListener) Dial Uses

func (ln *InmemoryListener) Dial() (net.Conn, error)

Dial creates new client<->server connection. Just like a real Dial it only returns once the server has accepted the connection.

It is safe calling Dial from concurrently running goroutines.

type PipeConns Uses

type PipeConns struct {
    // contains filtered or unexported fields
}

PipeConns provides bi-directional connection pipe, which use in-process memory as a transport.

PipeConns must be created by calling NewPipeConns.

PipeConns has the following additional features comparing to connections returned from net.Pipe():

* It is faster.
* It buffers Write calls, so there is no need to have concurrent goroutine
  calling Read in order to unblock each Write call.
* It supports read and write deadlines.

func NewPipeConns Uses

func NewPipeConns() *PipeConns

NewPipeConns returns new bi-directional connection pipe.

func (*PipeConns) Close Uses

func (pc *PipeConns) Close() error

Close closes pipe connections.

func (*PipeConns) Conn1 Uses

func (pc *PipeConns) Conn1() net.Conn

Conn1 returns the first end of bi-directional pipe.

Data written to Conn1 may be read from Conn2. Data written to Conn2 may be read from Conn1.

func (*PipeConns) Conn2 Uses

func (pc *PipeConns) Conn2() net.Conn

Conn2 returns the second end of bi-directional pipe.

Data written to Conn2 may be read from Conn1. Data written to Conn1 may be read from Conn2.

Package fasthttputil imports 6 packages (graph) and is imported by 33 packages. Updated 2019-03-27. Refresh now. Tools for package owners.