stream

package
v0.0.0-...-e3e1183 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EAGAIN = errors.New("AGAIN")
View Source
var FAILED = errors.New("FAILED")

Functions

func Register

func Register(prot types.Protocol, factory ProtocolStreamFactory)

func SelectStreamFactoryProtocol

func SelectStreamFactoryProtocol(ctx context.Context, prot string, peek []byte) (types.Protocol, error)

Types

type BaseStream

type BaseStream struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*BaseStream) AddEventListener

func (s *BaseStream) AddEventListener(streamCb types.StreamEventListener)

func (*BaseStream) DestroyStream

func (s *BaseStream) DestroyStream()

func (*BaseStream) RemoveEventListener

func (s *BaseStream) RemoveEventListener(streamCb types.StreamEventListener)

func (*BaseStream) ResetStream

func (s *BaseStream) ResetStream(reason types.StreamResetReason)

type Client

type Client interface {
	types.ConnectionEventListener
	types.ReadFilter

	ConnID() uint64

	Connect() error

	ActiveRequestsNum() int

	NewStream(context context.Context, respDecoder types.StreamReceiveListener) types.StreamSender

	SetConnectionCollector(read, write metrics.Counter)

	AddConnectionEventListener(listener types.ConnectionEventListener)

	SetStreamConnectionEventListener(listener types.StreamConnectionEventListener)

	Close()
}

func NewBiDirectStreamClient

func NewBiDirectStreamClient(ctx context.Context, prot types.Protocol, connection types.ClientConnection, host types.HostInfo,
	serverCallbacks types.ServerStreamConnectionEventListener) Client

NewBiDirectStreamClient Create a bidirectional client used to realize bidirectional communication

func NewStreamClient

func NewStreamClient(ctx context.Context, prot types.Protocol, connection types.ClientConnection, host types.HostInfo) Client

NewStreamClient Create a codecclient used as a client to send/receive stream in a connection

type ContextManager

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

contextManager

func NewContextManager

func NewContextManager(base context.Context) *ContextManager

func (*ContextManager) Get

func (cm *ContextManager) Get() context.Context

func (*ContextManager) InjectTrace

func (cm *ContextManager) InjectTrace(ctx context.Context, span types.Span) context.Context

func (*ContextManager) Next

func (cm *ContextManager) Next()

type ProtocolStreamFactory

type ProtocolStreamFactory interface {
	CreateClientStream(context context.Context, connection types.ClientConnection,
		streamConnCallbacks types.StreamConnectionEventListener,
		callbacks types.ConnectionEventListener) types.ClientStreamConnection

	CreateServerStream(context context.Context, connection types.Connection,
		callbacks types.ServerStreamConnectionEventListener) types.ServerStreamConnection

	CreateBiDirectStream(context context.Context, connection types.ClientConnection,
		clientCallbacks types.StreamConnectionEventListener,
		serverCallbacks types.ServerStreamConnectionEventListener) types.ClientStreamConnection

	ProtocolMatch(context context.Context, prot string, magic []byte) error
}

Directories

Path Synopsis
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.

Jump to

Keyboard shortcuts

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