protocol

package
v0.0.0-...-b4b96de Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitHandlerRequest

func InitHandlerRequest(
	logger *log.Logger,
	statsdMetrics *statsd.Client,
	tracingContextMapping *cache.Cache,
	routingInfoContextMapping *cache.Cache)

Types

type HTTPHandler

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

HTTPHandler process HTTP protocol

func NewHTTPHandler

func NewHTTPHandler(
	logger *log.Logger,
	statsdMetrics *statsd.Client,
	tracingContextMapping *cache.Cache,
	routingInfoContextMapping *cache.Cache) *HTTPHandler

NewHTTPHandler returns HTTP handler

func (*HTTPHandler) HandleRequest

func (h *HTTPHandler) HandleRequest(
	r *net.TCPConn,
	w *net.TCPConn,
	connCh chan *net.TCPConn,
	addrCh chan string,
	netRequest NetRequest,
	isInboundConn bool,
	originalDst string) *net.TCPConn

HandleRequest handles HTTP request

func (*HTTPHandler) HandleResponse

func (h *HTTPHandler) HandleResponse(r *net.TCPConn, w *net.TCPConn, netRequest NetRequest, isInboundConn bool, forceClose bool)

type NetHTTPRequest

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

func NewNetHTTPRequest

func NewNetHTTPRequest(
	logger *log.Logger,
	isInbound bool,
	tracingContextMapping *cache.Cache,
	statsdMetrics *statsd.Client) *NetHTTPRequest

func (*NetHTTPRequest) CleanUp

func (nr *NetHTTPRequest) CleanUp()

func (*NetHTTPRequest) SetHTTPRequest

func (nr *NetHTTPRequest) SetHTTPRequest(r *nhttp.Request)

func (*NetHTTPRequest) SetHTTPResponse

func (nr *NetHTTPRequest) SetHTTPResponse(r *nhttp.Response)

func (*NetHTTPRequest) StartRequest

func (nr *NetHTTPRequest) StartRequest()

func (*NetHTTPRequest) StopRequest

func (nr *NetHTTPRequest) StopRequest()

type NetHandler

type NetHandler interface {
	// HandleRequest should get all data from r, process it and write result to w
	HandleRequest(
		r *net.TCPConn,
		w *net.TCPConn,
		connCh chan *net.TCPConn,
		addrCh chan string,
		netRequest NetRequest,
		isInboundConn bool,
		originalDst string) *net.TCPConn
	// HandleResponse should get all data from r, process it and write result to w
	HandleResponse(r *net.TCPConn, w *net.TCPConn, netRequest NetRequest, isInboundConn bool, forceClose bool)
}

func GetNetworkHandler

func GetNetworkHandler(
	proto Proto,
	logger *log.Logger,
	tracingContextMapping *cache.Cache) NetHandler

type NetRequest

type NetRequest interface {
	StartRequest()
	StopRequest()
	CleanUp()
}

func GetNetRequest

func GetNetRequest(
	proto Proto,
	isInbound bool,
	logger *log.Logger,
	tracingContextMapping *cache.Cache,
	statsdMetrics *statsd.Client) NetRequest

type NetTCPRequest

type NetTCPRequest struct {
}

func NewNetTCPRequest

func NewNetTCPRequest(logger *log.Logger) *NetTCPRequest

func (*NetTCPRequest) CleanUp

func (r *NetTCPRequest) CleanUp()

func (*NetTCPRequest) StartRequest

func (r *NetTCPRequest) StartRequest()

func (*NetTCPRequest) StopRequest

func (r *NetTCPRequest) StopRequest()

type Proto

type Proto string
const (
	HTTPProto Proto = "http"
	TCPProto  Proto = "tcp"
)

func Determine

func Determine(addr string) Proto

type Queue

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

Queue implements queue data structure

func NewQueue

func NewQueue() *Queue

NewQueue creates new queue

func (*Queue) Clear

func (q *Queue) Clear()

Clear clears queue

func (*Queue) Peek

func (q *Queue) Peek() interface{}

Peek returns first element in the queue without removing it

func (*Queue) Pop

func (q *Queue) Pop() interface{}

Pop pops first element out of queue

func (*Queue) Push

func (q *Queue) Push(value interface{})

Push pushes element to the end of queue

type TCPHandler

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

func NewTCPHandler

func NewTCPHandler(logger *log.Logger) *TCPHandler

func (*TCPHandler) HandleRequest

func (h *TCPHandler) HandleRequest(
	r *net.TCPConn,
	w *net.TCPConn,
	connCh chan *net.TCPConn,
	addrCh chan string,
	netRequest NetRequest,
	isInboundConn bool,
	originalDst string) *net.TCPConn

func (*TCPHandler) HandleResponse

func (h *TCPHandler) HandleResponse(r *net.TCPConn, w *net.TCPConn, netRequest NetRequest, isInboundConn bool, forceClose bool)

type TempWriter

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

TempWriter allows write to temp buffer and retrieve it in case we need it

func NewTempWriter

func NewTempWriter() *TempWriter

NewTempWriter creates new instance of TempWriter

func (*TempWriter) Close

func (tw *TempWriter) Close() error

Close stub

func (*TempWriter) Read

func (tw *TempWriter) Read(p []byte) (n int, err error)

Read reads bytes from temp buffer

func (*TempWriter) Start

func (tw *TempWriter) Start()

Start starts writing to temp buffer

func (*TempWriter) Stop

func (tw *TempWriter) Stop()

Stop releases writer from writing to cache

func (*TempWriter) Write

func (tw *TempWriter) Write(b []byte) (n int, err error)

Write writes bytes into temp buffer if not stopped

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL