iris_programmable_proxy_v1_beta

package
v1.0.2-beta.rc0 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DurableExecutionID = "Durable-Execution-ID"
	RetryCount         = "Retry-Count"
	MaxRetries         = "Max-Retries"
)
View Source
const (
	LoadBalancingStrategy    = "X-Load-Balancing-Strategy"
	Adaptive                 = "Adaptive"
	RoundRobin               = "RoundRobin"
	AdaptiveLoadBalancingKey = "X-Adaptive-Metrics-Key"
	JsonRpcAdaptiveMetrics   = "JSON-RPC"
	QuickNodeAPIs            = "QuickNode"

	XResponseLatencyMillisecondsHeader = "X-Response-Latency-Milliseconds"
	XResponseReceivedAtUTCHeader       = "X-Response-Received-At-UTC"
)
View Source
const (
	SessionLockID  = "Session-Lock-ID"
	SessionLockTTL = "Session-Lock-TTL"
)
View Source
const (
	RequestHeaderRoutingProcedureHeader = "X-Routing-Procedure"

	ResponseHeaderProcedureLatency = "X-Procedure-Latency-Milliseconds"
)
View Source
const (
	FanInRuleFirstValidResponse = "returnOnFirstSuccess"
	FanInRuleReturnAllResponses = "returnAllSuccessful"
)
View Source
const (
	MaxBlockAggReduce = "max-block-agg-reduce"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BroadcastInstructions

type BroadcastInstructions struct {
	RoutingPath  string        `json:"routingPath"`
	RestType     string        `json:"restType"`
	Payload      any           `json:"payload,omitempty"`
	MaxDuration  time.Duration `json:"maxRuntime,omitempty"`
	MaxTries     int           `json:"maxTries,omitempty"`
	RoutingTable string        `json:"routingTable"`
	FanInRules   *FanInRules   `json:"fanInRules,omitempty"`
}

type BroadcastRules

type BroadcastRules string

func (BroadcastRules) ReturnFirstResultOnSuccess

func (b BroadcastRules) ReturnFirstResultOnSuccess() string

ReturnFirstResultOnSuccess returns the first result from the fan-in that is not an error

func (BroadcastRules) ReturnResultsOnSuccess

func (b BroadcastRules) ReturnResultsOnSuccess() string

ReturnResultsOnSuccess returns all results from the fan-in that are not errors that complete before any timeouts occur this is the default behavior

type FanInRules

type FanInRules struct {
	Rule BroadcastRules `json:"rule"`
}

type IrisProxyRulesConfigs

type IrisProxyRulesConfigs struct {
	zeus_client.ZeusClient
	Routes  []string          `json:"routes"`
	Headers map[string]string `json:"headers"`
}

func (*IrisProxyRulesConfigs) AddDurableExecutionIDHeaderToHeaders

func (i *IrisProxyRulesConfigs) AddDurableExecutionIDHeaderToHeaders(dexecID string)

func (*IrisProxyRulesConfigs) AddEthereumJsonRpcAdaptiveLoadBalancingStrategyHeaderToHeaders

func (i *IrisProxyRulesConfigs) AddEthereumJsonRpcAdaptiveLoadBalancingStrategyHeaderToHeaders()

func (*IrisProxyRulesConfigs) AddLoadBalancingStrategyHeaderToHeaders

func (i *IrisProxyRulesConfigs) AddLoadBalancingStrategyHeaderToHeaders(lbs string)

func (*IrisProxyRulesConfigs) AddMaxRetriesHeaderToHeaders

func (i *IrisProxyRulesConfigs) AddMaxRetriesHeaderToHeaders(maxRetries string)

func (*IrisProxyRulesConfigs) AddRetryCountHeaderToHeaders

func (i *IrisProxyRulesConfigs) AddRetryCountHeaderToHeaders(retryID string)

func (*IrisProxyRulesConfigs) AddSessionLockIDHeaderToHeaders

func (i *IrisProxyRulesConfigs) AddSessionLockIDHeaderToHeaders(sessionID string)

func (*IrisProxyRulesConfigs) AddSessionLockTTLHeaderToHeaders

func (i *IrisProxyRulesConfigs) AddSessionLockTTLHeaderToHeaders(ttl string)

type IrisRoutingProcedure

type IrisRoutingProcedure struct {
	Name string `json:"name"`

	OrderedSteps *queue.Queue `json:"steps"`
}

type IrisRoutingProcedureStep

type IrisRoutingProcedureStep struct {
	BroadcastInstructions BroadcastInstructions                   `json:"broadcastInstructions,omitempty"`
	TransformSlice        []iris_operators.IrisRoutingResponseETL `json:"transformSlice,omitempty"`
	AggregateMap          map[string]iris_operators.Aggregation   `json:"aggregateMap,omitempty"`
}

func (*IrisRoutingProcedureStep) Aggregate

func (r *IrisRoutingProcedureStep) Aggregate() error

Jump to

Keyboard shortcuts

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