Documentation
¶
Overview ¶
Package tchannelthrift contains code for servicing RPC requests via tchannel.
Index ¶
- func Context(ctx thrift.Context) context.Context
- func NewContext(timeout time.Duration) (thrift.Context, stdctx.CancelFunc)
- func NewContextWithEndpoint(ctx context.Context, endpoint Endpoint) context.Context
- func RegisterServer(channel *tchannel.Channel, service thrift.TChanServer, ...)
- type BlockMetadataV2Pool
- type BlockMetadataV2SlicePool
- type Endpoint
- type Key
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewContext ¶
NewContext returns a new thrift context and cancel func with embedded M3DB context
func NewContextWithEndpoint ¶ added in v1.2.0
NewContextWithEndpoint creates a new context.Context with the Endpoint set as a value.
func RegisterServer ¶
func RegisterServer(channel *tchannel.Channel, service thrift.TChanServer, contextPool context.Pool)
RegisterServer will register a tchannel thrift server and create and close M3DB contexts per request
Types ¶
type BlockMetadataV2Pool ¶
type BlockMetadataV2Pool interface {
// Get returns a block metadata
Get() *rpc.BlockMetadataV2
// Put puts a block metadata back to pool
Put(m *rpc.BlockMetadataV2)
}
BlockMetadataV2Pool provides a pool for block metadata
func NewBlockMetadataV2Pool ¶
func NewBlockMetadataV2Pool(opts pool.ObjectPoolOptions) BlockMetadataV2Pool
NewBlockMetadataV2Pool creates a new block metadata pool
type BlockMetadataV2SlicePool ¶
type BlockMetadataV2SlicePool interface {
// Get returns a block metadata slice
Get() []*rpc.BlockMetadataV2
// Put puts a block metadata slice back to pool
Put(m []*rpc.BlockMetadataV2)
}
BlockMetadataV2SlicePool provides a pool for block metadata slices
func NewBlockMetadataV2SlicePool ¶
func NewBlockMetadataV2SlicePool(opts pool.ObjectPoolOptions, capacity int) BlockMetadataV2SlicePool
NewBlockMetadataV2SlicePool creates a new blockMetadataV2Slice pool
type Endpoint ¶ added in v1.2.0
type Endpoint int
Endpoint is a type representing an API endpoint
const ( // Unknown represents an unknown endpoint. Unknown Endpoint = iota // AggregateRaw represents the AggregateRaw endpoint. AggregateRaw // Fetch represents the Fetch endpoint. Fetch // FetchBatchRaw represents the FetchBatchRaw endpoint. FetchBatchRaw // FetchBatchRawV2 represents the FetchBatchRawV2 endpoint. FetchBatchRawV2 // FetchTagged represents the FetchTagged endpoint. FetchTagged // Query represents the Query endpoint. Query )
func EndpointFromContext ¶ added in v1.2.0
EndpointFromContext returns the Endpoint within the context or Unknown if not available.
type Key ¶ added in v1.2.0
type Key string
Key is a specific string type for context setting.
const EndpointContextKey Key = "endpoint"
EndpointContextKey is the key for setting and retrieving the endpoint from context.
type Options ¶
type Options interface {
// SetClockOptions sets the clock options.
SetClockOptions(value clock.Options) Options
// ClockOptions returns the clock options.
ClockOptions() clock.Options
// SetInstrumentOptions sets the instrumentation options.
SetInstrumentOptions(value instrument.Options) Options
// InstrumentOptions returns the instrumentation options.
InstrumentOptions() instrument.Options
// SetTopologyInitializer sets the TopologyInitializer.
SetTopologyInitializer(value topology.Initializer) Options
// TopologyInitializer returns the TopologyInitializer.
TopologyInitializer() topology.Initializer
// SetIdentifierPool sets the identifier pool.
SetIdentifierPool(value ident.Pool) Options
// IdentifierPool returns the identifier pool.
IdentifierPool() ident.Pool
// SetBlockMetadataV2Pool sets the block metadata pool.
SetBlockMetadataV2Pool(value BlockMetadataV2Pool) Options
// BlockMetadataV2Pool returns the block metadata pool.
BlockMetadataV2Pool() BlockMetadataV2Pool
// SetBlockMetadataV2SlicePool sets the block metadata slice pool.
SetBlockMetadataV2SlicePool(value BlockMetadataV2SlicePool) Options
// BlockMetadataV2SlicePool returns the block metadata slice pool.
BlockMetadataV2SlicePool() BlockMetadataV2SlicePool
// SetTagEncoderPool sets the tag encoder pool.
SetTagEncoderPool(value serialize.TagEncoderPool) Options
// TagEncoderPool returns the tag encoder pool.
TagEncoderPool() serialize.TagEncoderPool
// SetCheckedBytesWrapperPool sets the checked bytes wrapper pool.
SetCheckedBytesWrapperPool(value xpool.CheckedBytesWrapperPool) Options
// CheckedBytesWrapperPool returns the checked bytes wrapper pool.
CheckedBytesWrapperPool() xpool.CheckedBytesWrapperPool
// SetMaxOutstandingWriteRequests sets the maximum number of allowed
// outstanding write requests.
SetMaxOutstandingWriteRequests(value int) Options
// MaxOutstandingWriteRequests returns the maxinum number of allowed
// outstanding write requests.
MaxOutstandingWriteRequests() int
// SetMaxOutstandingReadRequests sets the maximum number of allowed
// outstanding read requests.
SetMaxOutstandingReadRequests(value int) Options
// MaxOutstandingReadRequests returns the maxinum number of allowed
// outstanding read requests.
MaxOutstandingReadRequests() int
// QueryLimits returns the QueryLimits.
QueryLimits() limits.QueryLimits
// SetQueryLimits sets the QueryLimits.
SetQueryLimits(value limits.QueryLimits) Options
// PermitsOptions returns the permits options.
PermitsOptions() permits.Options
// SetPermitsOptions sets the permits options.
SetPermitsOptions(value permits.Options) Options
// SetFetchTaggedSeriesBlocksPerBatch sets the series blocks allowed to be read
// per permit acquired.
SetFetchTaggedSeriesBlocksPerBatch(value int) Options
}
Options controls server behavior