dispatchers

package
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2023 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseStringMap

func ParseStringMap(s string) utils.StringMap

Types

type ArgStartServiceWithApiKey

type ArgStartServiceWithApiKey struct {
	*utils.ArgDispatcher
	utils.TenantArg
	servmanager.ArgStartService
}

type ArgsReplicateSessionsWithApiKey

type ArgsReplicateSessionsWithApiKey struct {
	*utils.ArgDispatcher
	utils.TenantArg
	sessions.ArgsReplicateSessions
}

type AttrRemoteLockWithApiKey

type AttrRemoteLockWithApiKey struct {
	*utils.ArgDispatcher
	utils.TenantArg
	utils.AttrRemoteLock
}

type AttrRemoteUnlockWithApiKey

type AttrRemoteUnlockWithApiKey struct {
	*utils.ArgDispatcher
	utils.TenantArg
	RefID string
}

type BroadcastDispatcher

type BroadcastDispatcher struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

BroadcastDispatcher will send the request to multiple hosts simultaneously

func (*BroadcastDispatcher) Dispatch

func (d *BroadcastDispatcher) Dispatch(routeID *string, subsystem,
	serviceMethod string, args any, reply any) (lastErr error)

func (*BroadcastDispatcher) HostIDs

func (d *BroadcastDispatcher) HostIDs() (hostIDs []string)

func (*BroadcastDispatcher) SetProfile

func (d *BroadcastDispatcher) SetProfile(pfl *engine.DispatcherProfile)

type Dispatcher

type Dispatcher interface {
	// SetProfile is used to update the configuration information within dispatcher
	// to make sure we take decisions based on latest config
	SetProfile(pfl *engine.DispatcherProfile)
	// HostIDs returns the ordered list of host IDs
	HostIDs() (hostIDs []string)
	// Dispatch is used to send the method over the connections given
	Dispatch(routeID *string, subsystem,
		serviceMethod string, args any, reply any) (err error)
}

Dispatcher is responsible for routing requests to pool of connections there will be different implementations based on strategy

type DispatcherEvent

type DispatcherEvent struct {
	utils.CGREvent
	*utils.ArgDispatcher
	Subsystem string
}

type DispatcherService

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

DispatcherService is the service handling dispatching towards internal components designed to handle automatic partitioning and failover

func NewDispatcherService

func NewDispatcherService(dm *engine.DataManager,
	cfg *config.CGRConfig, fltrS *engine.FilterS,
	connMgr *engine.ConnManager) (*DispatcherService, error)

NewDispatcherService constructs a DispatcherService

func (*DispatcherService) AttributeSv1GetAttributeForEvent

func (dS *DispatcherService) AttributeSv1GetAttributeForEvent(args *engine.AttrArgsProcessEvent,
	reply *engine.AttributeProfile) (err error)

AttributeSv1GetAttributeForEvent is the dispatcher method for AttributeSv1.GetAttributeForEvent

func (*DispatcherService) AttributeSv1Ping

func (dS *DispatcherService) AttributeSv1Ping(args *utils.CGREventWithArgDispatcher,
	reply *string) (err error)

AttributeSv1Ping interrogates AttributeS server responsible to process the event

func (*DispatcherService) AttributeSv1ProcessEvent

func (dS *DispatcherService) AttributeSv1ProcessEvent(args *engine.AttrArgsProcessEvent,
	reply *engine.AttrSProcessEventReply) (err error)

func (*DispatcherService) CDRsV1GetCDRs

func (dS *DispatcherService) CDRsV1GetCDRs(args utils.RPCCDRsFilterWithArgDispatcher, reply *[]*engine.CDR) (err error)

func (*DispatcherService) CDRsV1GetCDRsCount

func (dS *DispatcherService) CDRsV1GetCDRsCount(args *utils.RPCCDRsFilterWithArgDispatcher, reply *int64) (err error)

func (*DispatcherService) CDRsV1Ping

func (dS *DispatcherService) CDRsV1Ping(args *utils.CGREventWithArgDispatcher,
	reply *string) (err error)

CDRsV1Ping interogates CDRsV1 server responsible to process the event

func (*DispatcherService) CDRsV1ProcessCDR

func (dS *DispatcherService) CDRsV1ProcessCDR(args *engine.CDRWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) CDRsV1ProcessEvent

func (dS *DispatcherService) CDRsV1ProcessEvent(args *engine.ArgV1ProcessEvent, reply *string) (err error)

func (*DispatcherService) CDRsV1ProcessExternalCDR

func (dS *DispatcherService) CDRsV1ProcessExternalCDR(args *engine.ExternalCDRWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) CDRsV1RateCDRs

func (dS *DispatcherService) CDRsV1RateCDRs(args *engine.ArgRateCDRs, reply *string) (err error)

func (*DispatcherService) CDRsV1StoreSessionCost

func (dS *DispatcherService) CDRsV1StoreSessionCost(args *engine.AttrCDRSStoreSMCost, reply *string) (err error)

func (*DispatcherService) CacheSv1Clear

func (dS *DispatcherService) CacheSv1Clear(args *utils.AttrCacheIDsWithArgDispatcher,
	reply *string) (err error)

Clear will clear partitions in the cache (nil fol all, empty slice for none)

func (*DispatcherService) CacheSv1FlushCache

func (dS *DispatcherService) CacheSv1FlushCache(args utils.AttrReloadCacheWithArgDispatcher, reply *string) (err error)

FlushCache wipes out cache for a prefix or completely

func (*DispatcherService) CacheSv1GetCacheStats

func (dS *DispatcherService) CacheSv1GetCacheStats(args *utils.AttrCacheIDsWithArgDispatcher,
	reply *map[string]*ltcache.CacheStats) (err error)

GetCacheStats returns CacheStats filtered by cacheIDs

func (*DispatcherService) CacheSv1GetGroupItemIDs

func (dS *DispatcherService) CacheSv1GetGroupItemIDs(args *utils.ArgsGetGroupWithArgDispatcher,
	reply *[]string) (err error)

GetGroupItemIDs returns a list of itemIDs in a cache group

func (*DispatcherService) CacheSv1GetItemExpiryTime

func (dS *DispatcherService) CacheSv1GetItemExpiryTime(args *utils.ArgsGetCacheItemWithArgDispatcher,
	reply *time.Time) (err error)

GetItemExpiryTime returns the expiryTime for an item

func (*DispatcherService) CacheSv1GetItemIDs

func (dS *DispatcherService) CacheSv1GetItemIDs(args *utils.ArgsGetCacheItemIDsWithArgDispatcher,
	reply *[]string) (err error)

GetItemIDs returns the IDs for cacheID with given prefix

func (*DispatcherService) CacheSv1HasGroup

func (dS *DispatcherService) CacheSv1HasGroup(args *utils.ArgsGetGroupWithArgDispatcher,
	reply *bool) (err error)

HasGroup checks existence of a group in cache

func (*DispatcherService) CacheSv1HasItem

func (dS *DispatcherService) CacheSv1HasItem(args *utils.ArgsGetCacheItemWithArgDispatcher,
	reply *bool) (err error)

HasItem verifies the existence of an Item in cache

func (*DispatcherService) CacheSv1LoadCache

func (dS *DispatcherService) CacheSv1LoadCache(args utils.AttrReloadCacheWithArgDispatcher, reply *string) (err error)

LoadCache loads cache from DB for a prefix or completely

func (*DispatcherService) CacheSv1Ping

func (dS *DispatcherService) CacheSv1Ping(args *utils.CGREventWithArgDispatcher,
	reply *string) (err error)

CacheSv1Ping interogates CacheSv1 server responsible to process the event

func (*DispatcherService) CacheSv1PrecacheStatus

func (dS *DispatcherService) CacheSv1PrecacheStatus(args *utils.AttrCacheIDsWithArgDispatcher, reply *map[string]string) (err error)

PrecacheStatus checks status of active precache processes

func (*DispatcherService) CacheSv1ReloadCache

func (dS *DispatcherService) CacheSv1ReloadCache(args utils.AttrReloadCacheWithArgDispatcher, reply *string) (err error)

ReloadCache reloads cache from DB for a prefix or completely

func (*DispatcherService) CacheSv1RemoveGroup

func (dS *DispatcherService) CacheSv1RemoveGroup(args *utils.ArgsGetGroupWithArgDispatcher, reply *string) (err error)

RemoveGroup will remove a group and all items belonging to it from cache

func (*DispatcherService) CacheSv1RemoveItem

func (dS *DispatcherService) CacheSv1RemoveItem(args *utils.ArgsGetCacheItemWithArgDispatcher,
	reply *string) (err error)

RemoveItem removes the Item with ID from cache

func (*DispatcherService) Call

func (dS *DispatcherService) Call(ctx *context.Context, serviceMethod string,
	args any, reply any) error

Call implements birpc.ClientConnector interface for internal RPC

func (*DispatcherService) ChargerSv1GetChargersForEvent

func (dS *DispatcherService) ChargerSv1GetChargersForEvent(args *utils.CGREventWithArgDispatcher,
	reply *engine.ChargerProfiles) (err error)

func (*DispatcherService) ChargerSv1Ping

func (dS *DispatcherService) ChargerSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) ChargerSv1ProcessEvent

func (dS *DispatcherService) ChargerSv1ProcessEvent(args *utils.CGREventWithArgDispatcher,
	reply *[]*engine.ChrgSProcessEventReply) (err error)

func (*DispatcherService) ConfigSv1GetJSONSection

func (dS *DispatcherService) ConfigSv1GetJSONSection(args *config.StringWithArgDispatcher, reply *map[string]any) (err error)

func (*DispatcherService) ConfigSv1ReloadConfigFromJSON

func (dS *DispatcherService) ConfigSv1ReloadConfigFromJSON(args *config.JSONReloadWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) ConfigSv1ReloadConfigFromPath

func (dS *DispatcherService) ConfigSv1ReloadConfigFromPath(args *config.ConfigReloadWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) CoreSv1Ping

func (dS *DispatcherService) CoreSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) CoreSv1Status

func (dS *DispatcherService) CoreSv1Status(args *utils.TenantWithArgDispatcher,
	reply *map[string]any) (err error)

func (*DispatcherService) Dispatch

func (dS *DispatcherService) Dispatch(ev *utils.CGREvent, subsys string, routeID *string,
	serviceMethod string, args any, reply any) (err error)

Dispatch is the method forwarding the request towards the right connection

func (*DispatcherService) GuardianSv1Ping

func (dS *DispatcherService) GuardianSv1Ping(args *utils.CGREventWithArgDispatcher,
	reply *string) (err error)

GuardianSv1Ping interogates GuardianSv1 server responsible to process the event

func (*DispatcherService) GuardianSv1RemoteLock

func (dS *DispatcherService) GuardianSv1RemoteLock(args AttrRemoteLockWithApiKey,
	reply *string) (err error)

RemoteLock will lock a key from remote

func (*DispatcherService) GuardianSv1RemoteUnlock

func (dS *DispatcherService) GuardianSv1RemoteUnlock(args AttrRemoteUnlockWithApiKey,
	reply *[]string) (err error)

RemoteUnlock will unlock a key from remote based on reference ID

func (*DispatcherService) ListenAndServe

func (dS *DispatcherService) ListenAndServe(exitChan chan bool) error

ListenAndServe will initialize the service

func (*DispatcherService) RALsV1GetRatingPlansCost

func (dS *DispatcherService) RALsV1GetRatingPlansCost(args *utils.RatingPlanCostArg, rpl *RatingPlanCost) (err error)

func (*DispatcherService) RALsV1Ping

func (dS *DispatcherService) RALsV1Ping(args *utils.CGREventWithArgDispatcher, rpl *string) (err error)

func (*DispatcherService) ResourceSv1AllocateResources

func (dS *DispatcherService) ResourceSv1AllocateResources(args utils.ArgRSv1ResourceUsage,
	reply *string) (err error)

func (*DispatcherService) ResourceSv1AuthorizeResources

func (dS *DispatcherService) ResourceSv1AuthorizeResources(args utils.ArgRSv1ResourceUsage,
	reply *string) (err error)

func (*DispatcherService) ResourceSv1GetResourcesForEvent

func (dS *DispatcherService) ResourceSv1GetResourcesForEvent(args utils.ArgRSv1ResourceUsage,
	reply *engine.Resources) (err error)

func (*DispatcherService) ResourceSv1Ping

func (dS *DispatcherService) ResourceSv1Ping(args *utils.CGREventWithArgDispatcher, rpl *string) (err error)

func (*DispatcherService) ResourceSv1ReleaseResources

func (dS *DispatcherService) ResourceSv1ReleaseResources(args utils.ArgRSv1ResourceUsage,
	reply *string) (err error)

func (*DispatcherService) ResponderDebit

func (dS *DispatcherService) ResponderDebit(args *engine.CallDescriptorWithArgDispatcher,
	reply *engine.CallCost) (err error)

func (*DispatcherService) ResponderGetCost

func (dS *DispatcherService) ResponderGetCost(args *engine.CallDescriptorWithArgDispatcher,
	reply *engine.CallCost) (err error)

func (*DispatcherService) ResponderGetCostOnRatingPlans added in v0.10.3

func (dS *DispatcherService) ResponderGetCostOnRatingPlans(arg *utils.GetCostOnRatingPlansArgs, reply *map[string]any) (err error)

func (*DispatcherService) ResponderGetMaxSessionTime

func (dS *DispatcherService) ResponderGetMaxSessionTime(args *engine.CallDescriptorWithArgDispatcher,
	reply *time.Duration) (err error)

func (*DispatcherService) ResponderGetMaxSessionTimeOnAccounts added in v0.10.3

func (dS *DispatcherService) ResponderGetMaxSessionTimeOnAccounts(args *utils.GetMaxSessionTimeOnAccountsArgs, reply *map[string]any) (err error)

func (*DispatcherService) ResponderMaxDebit

func (dS *DispatcherService) ResponderMaxDebit(args *engine.CallDescriptorWithArgDispatcher,
	reply *engine.CallCost) (err error)

func (*DispatcherService) ResponderPing

func (dS *DispatcherService) ResponderPing(args *utils.CGREventWithArgDispatcher,
	reply *string) (err error)

ResponderPing interogates Responder server responsible to process the event

func (*DispatcherService) ResponderRefundIncrements

func (dS *DispatcherService) ResponderRefundIncrements(args *engine.CallDescriptorWithArgDispatcher,
	reply *engine.Account) (err error)

func (*DispatcherService) ResponderRefundRounding

func (dS *DispatcherService) ResponderRefundRounding(args *engine.CallDescriptorWithArgDispatcher,
	reply *engine.Account) (err error)

func (*DispatcherService) ResponderShutdown

func (dS *DispatcherService) ResponderShutdown(args *utils.TenantWithArgDispatcher,
	reply *string) (err error)

func (*DispatcherService) SchedulerSv1Ping

func (dS *DispatcherService) SchedulerSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) SchedulerSv1Reload

func (dS *DispatcherService) SchedulerSv1Reload(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) ServiceManagerV1Ping

func (dS *DispatcherService) ServiceManagerV1Ping(args *utils.CGREventWithArgDispatcher,
	reply *string) (err error)

ServiceManagerV1Ping interogates ServiceManager server responsible to process the event

func (*DispatcherService) ServiceManagerV1ServiceStatus

func (dS *DispatcherService) ServiceManagerV1ServiceStatus(args ArgStartServiceWithApiKey,
	reply *string) (err error)

func (*DispatcherService) ServiceManagerV1StartService

func (dS *DispatcherService) ServiceManagerV1StartService(args ArgStartServiceWithApiKey,
	reply *string) (err error)

func (*DispatcherService) ServiceManagerV1StopService

func (dS *DispatcherService) ServiceManagerV1StopService(args ArgStartServiceWithApiKey,
	reply *string) (err error)

func (*DispatcherService) SessionSv1AuthorizeEvent

func (dS *DispatcherService) SessionSv1AuthorizeEvent(args *sessions.V1AuthorizeArgs,
	reply *sessions.V1AuthorizeReply) (err error)

func (*DispatcherService) SessionSv1AuthorizeEventWithDigest

func (dS *DispatcherService) SessionSv1AuthorizeEventWithDigest(args *sessions.V1AuthorizeArgs,
	reply *sessions.V1AuthorizeReplyWithDigest) (err error)

func (*DispatcherService) SessionSv1ForceDisconnect

func (dS *DispatcherService) SessionSv1ForceDisconnect(args *utils.SessionFilter,
	reply *string) (err error)

func (*DispatcherService) SessionSv1GetActiveSessions

func (dS *DispatcherService) SessionSv1GetActiveSessions(args *utils.SessionFilter,
	reply *[]*sessions.ExternalSession) (err error)

func (*DispatcherService) SessionSv1GetActiveSessionsCount

func (dS *DispatcherService) SessionSv1GetActiveSessionsCount(args *utils.SessionFilter,
	reply *int) (err error)

func (*DispatcherService) SessionSv1GetPassiveSessions

func (dS *DispatcherService) SessionSv1GetPassiveSessions(args *utils.SessionFilter,
	reply *[]*sessions.ExternalSession) (err error)

func (*DispatcherService) SessionSv1GetPassiveSessionsCount

func (dS *DispatcherService) SessionSv1GetPassiveSessionsCount(args *utils.SessionFilter,
	reply *int) (err error)

func (*DispatcherService) SessionSv1InitiateSession

func (dS *DispatcherService) SessionSv1InitiateSession(args *sessions.V1InitSessionArgs,
	reply *sessions.V1InitSessionReply) (err error)

func (*DispatcherService) SessionSv1InitiateSessionWithDigest

func (dS *DispatcherService) SessionSv1InitiateSessionWithDigest(args *sessions.V1InitSessionArgs,
	reply *sessions.V1InitReplyWithDigest) (err error)

func (*DispatcherService) SessionSv1Ping

func (dS *DispatcherService) SessionSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) SessionSv1ProcessCDR

func (dS *DispatcherService) SessionSv1ProcessCDR(args *utils.CGREventWithArgDispatcher,
	reply *string) (err error)

func (*DispatcherService) SessionSv1ProcessEvent

func (dS *DispatcherService) SessionSv1ProcessEvent(args *sessions.V1ProcessEventArgs,
	reply *sessions.V1ProcessEventReply) (err error)

func (*DispatcherService) SessionSv1ProcessMessage

func (dS *DispatcherService) SessionSv1ProcessMessage(args *sessions.V1ProcessMessageArgs,
	reply *sessions.V1ProcessMessageReply) (err error)

func (*DispatcherService) SessionSv1ReplicateSessions

func (dS *DispatcherService) SessionSv1ReplicateSessions(args ArgsReplicateSessionsWithApiKey,
	reply *string) (err error)

func (*DispatcherService) SessionSv1SetPassiveSession

func (dS *DispatcherService) SessionSv1SetPassiveSession(args *sessions.Session,
	reply *string) (err error)

func (*DispatcherService) SessionSv1SyncSessions

func (dS *DispatcherService) SessionSv1SyncSessions(args *utils.TenantWithArgDispatcher,
	reply *sessions.V1UpdateSessionReply) (err error)

func (*DispatcherService) SessionSv1TerminateSession

func (dS *DispatcherService) SessionSv1TerminateSession(args *sessions.V1TerminateSessionArgs,
	reply *string) (err error)

func (*DispatcherService) SessionSv1UpdateSession

func (dS *DispatcherService) SessionSv1UpdateSession(args *sessions.V1UpdateSessionArgs,
	reply *sessions.V1UpdateSessionReply) (err error)

func (*DispatcherService) Shutdown

func (dS *DispatcherService) Shutdown() error

Shutdown is called to shutdown the service

func (*DispatcherService) StatSv1GetQueueFloatMetrics

func (dS *DispatcherService) StatSv1GetQueueFloatMetrics(args *utils.TenantIDWithArgDispatcher,
	reply *map[string]float64) (err error)

func (*DispatcherService) StatSv1GetQueueIDs

func (dS *DispatcherService) StatSv1GetQueueIDs(args *utils.TenantWithArgDispatcher,
	reply *[]string) (err error)

func (*DispatcherService) StatSv1GetQueueStringMetrics

func (dS *DispatcherService) StatSv1GetQueueStringMetrics(args *utils.TenantIDWithArgDispatcher,
	reply *map[string]string) (err error)

func (*DispatcherService) StatSv1GetStatQueuesForEvent

func (dS *DispatcherService) StatSv1GetStatQueuesForEvent(args *engine.StatsArgsProcessEvent,
	reply *[]string) (err error)

func (*DispatcherService) StatSv1Ping

func (dS *DispatcherService) StatSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) StatSv1ProcessEvent

func (dS *DispatcherService) StatSv1ProcessEvent(args *engine.StatsArgsProcessEvent,
	reply *[]string) (err error)

func (*DispatcherService) SupplierSv1GetSupplierProfilesForEvent

func (dS *DispatcherService) SupplierSv1GetSupplierProfilesForEvent(args *utils.CGREventWithArgDispatcher,
	reply *[]*engine.SupplierProfile) (err error)

func (*DispatcherService) SupplierSv1GetSuppliers

func (dS *DispatcherService) SupplierSv1GetSuppliers(args *engine.ArgsGetSuppliers,
	reply *engine.SortedSuppliers) (err error)

func (*DispatcherService) SupplierSv1Ping

func (dS *DispatcherService) SupplierSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) ThresholdSv1GetThreshold

func (dS *DispatcherService) ThresholdSv1GetThreshold(args *utils.TenantIDWithArgDispatcher, th *engine.Threshold) (err error)

func (*DispatcherService) ThresholdSv1GetThresholdIDs

func (dS *DispatcherService) ThresholdSv1GetThresholdIDs(args *utils.TenantWithArgDispatcher, tIDs *[]string) (err error)

func (*DispatcherService) ThresholdSv1GetThresholdsForEvent

func (dS *DispatcherService) ThresholdSv1GetThresholdsForEvent(args *engine.ArgsProcessEvent,
	t *engine.Thresholds) (err error)

func (*DispatcherService) ThresholdSv1Ping

func (dS *DispatcherService) ThresholdSv1Ping(args *utils.CGREventWithArgDispatcher, reply *string) (err error)

func (*DispatcherService) ThresholdSv1ProcessEvent

func (dS *DispatcherService) ThresholdSv1ProcessEvent(args *engine.ArgsProcessEvent,
	tIDs *[]string) (err error)

func (*DispatcherService) V1Apier

func (dS *DispatcherService) V1Apier(apier any, args *utils.MethodParameters, reply *any) (err error)

V1Apier is a generic way to cover all APIer methods

func (*DispatcherService) V1GetProfileForEvent

func (dS *DispatcherService) V1GetProfileForEvent(ev *DispatcherEvent,
	dPfl *engine.DispatcherProfile) (err error)

type RandomDispatcher

type RandomDispatcher struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

RandomDispatcher selects the next connection randomly together with RouteID can serve as load-balancer

func (*RandomDispatcher) Dispatch

func (d *RandomDispatcher) Dispatch(routeID *string, subsystem,
	serviceMethod string, args any, reply any) (err error)

func (*RandomDispatcher) HostIDs

func (d *RandomDispatcher) HostIDs() (hostIDs []string)

func (*RandomDispatcher) SetProfile

func (d *RandomDispatcher) SetProfile(pfl *engine.DispatcherProfile)

type RatingPlanCost

type RatingPlanCost struct {
	EventCost    *engine.EventCost
	RatingPlanID string
}

type RoundRobinDispatcher

type RoundRobinDispatcher struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

RoundRobinDispatcher selects the next connection in round-robin fashion

func (*RoundRobinDispatcher) Dispatch

func (d *RoundRobinDispatcher) Dispatch(routeID *string, subsystem,
	serviceMethod string, args any, reply any) (err error)

func (*RoundRobinDispatcher) HostIDs

func (d *RoundRobinDispatcher) HostIDs() (hostIDs []string)

func (*RoundRobinDispatcher) SetProfile

func (d *RoundRobinDispatcher) SetProfile(pfl *engine.DispatcherProfile)

type StringWithApiKey

type StringWithApiKey struct {
	*utils.ArgDispatcher
	utils.TenantArg
	Arg string
}

type WeightDispatcher

type WeightDispatcher struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

WeightDispatcher selects the next connection based on weight

func (*WeightDispatcher) Dispatch

func (wd *WeightDispatcher) Dispatch(routeID *string, subsystem,
	serviceMethod string, args any, reply any) (err error)

func (*WeightDispatcher) HostIDs

func (wd *WeightDispatcher) HostIDs() (hostIDs []string)

func (*WeightDispatcher) SetProfile

func (wd *WeightDispatcher) SetProfile(pfl *engine.DispatcherProfile)

Jump to

Keyboard shortcuts

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