Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type InitOptions ¶ added in v1.15.0
type InitOptions struct {
Hostname string
GRPC *manager.Manager
SchedulerClient schedulerv1pb.SchedulerClient
SchedulerReloader schedclient.Reloader
// SchedulerLeadership tracks the scheduler placement leader, used by the
// placement client when SchedulerPlacementEnabled is set.
SchedulerLeadership *leadership.Leadership
}
type Interface ¶ added in v1.15.0
type Interface interface {
Init(InitOptions) error
Run(context.Context) error
Router(context.Context) (router.Interface, error)
Table(context.Context) (table.Interface, error)
State(context.Context) (actorstate.Interface, error)
Timers(context.Context) (timers.Interface, error)
Reminders(context.Context) (reminders.Interface, error)
Placement(context.Context) (placement.Interface, error)
RuntimeStatus() *runtimev1pb.ActorRuntime
RegisterHosted(context.Context, hostconfig.Config) error
UnRegisterHosted(ctx context.Context, actorTypes ...string) error
WaitForRegisteredHosts(ctx context.Context) error
// OnActorStateStoreChanged notifies the actor runtime that the actor
// state store was added, removed, or replaced in the component store.
// Non-blocking and safe to call at any point in the runtime lifecycle.
OnActorStateStoreChanged()
}
Interface is the main runtime for the actors subsystem.
type Options ¶ added in v1.15.0
type Options struct {
AppID string
Namespace string
Port int
PlacementAddresses []string
HealthEndpoint string
Resiliency resiliency.Provider
Security security.Handler
Healthz healthz.Healthz
CompStore *compstore.ComponentStore
// TODO: @joshvanl Remove in Dapr 1.12 when ActorStateTTL is finalized.
StateTTLEnabled bool
MaxRequestBodySize int
Mode modes.DaprMode
// DisseminationTimeout is the daprd-side timeout for a placement
// LOCK -> UPDATE -> UNLOCK round.
DisseminationTimeout time.Duration
PlacementStartupTimeout time.Duration
// SchedulerPlacementEnabled means a scheduler address is configured.
// Whether placement is actually served by it is the control plane's
// decision, read from the WatchHosts advertisement on startup. Actors
// are enabled even without placement addresses when set.
SchedulerPlacementEnabled bool
}
Directories
¶
| Path | Synopsis |
|---|---|
|
Package callbackstream coordinates the app-initiated actor callback stream.
|
Package callbackstream coordinates the app-initiated actor callback stream. |
|
hashing
|
|
|
rendezvous
Package rendezvous implements rendezvous (highest random weight) hashing over a set of host addresses.
|
Package rendezvous implements rendezvous (highest random weight) hashing over a set of host addresses. |
|
Package hostauthz authorizes an actor host report against the caller's SPIFFE identity, shared by the placement service and the scheduler's placement server.
|
Package hostauthz authorizes an actor host report against the caller's SPIFFE identity, shared by the placement service and the scheduler's placement server. |
|
internal
|
|
|
placement/connector/leader
Package leader is the placement connector which dials the current scheduler placement leader, discovered from the scheduler WatchHosts stream.
|
Package leader is the placement connector which dials the current scheduler placement leader, discovered from the scheduler WatchHosts stream. |
|
placement/loops/stream/transport
Package transport abstracts the placement stream wire protocol behind a protocol-neutral interface so the placement client loops are identical for the v1 (standalone placement service, ReportDaprStatus) and v2 (scheduler, ReportActorTypes) protocols.
|
Package transport abstracts the placement stream wire protocol behind a protocol-neutral interface so the placement client loops are identical for the v1 (standalone placement service, ReportDaprStatus) and v2 (scheduler, ReportActorTypes) protocols. |
|
placement/loops/stream/transport/v1
Package v1 implements the placement stream transport speaking the v1 protocol of the standalone placement service (ReportDaprStatus).
|
Package v1 implements the placement stream transport speaking the v1 protocol of the standalone placement service (ReportDaprStatus). |
|
placement/loops/stream/transport/v2
Package v2 implements the placement stream transport speaking the v2 protocol of the scheduler placement service (ReportActorTypes): per actor type placement orders with seq-keyed rounds and partial tables.
|
Package v2 implements the placement stream transport speaking the v2 protocol of the scheduler placement service (ReportActorTypes): per actor type placement orders with seq-keyed rounds and partial tables. |
|
app/transport
Package transport defines the Invoker interface that isolates HTTP and gRPC wire details from the rest of the actor target code.
|
Package transport defines the Invoker interface that isolates HTTP and gRPC wire details from the rest of the actor target code. |
|
app/transport/grpc
Package grpc implements the transport.Invoker interface against the app-initiated SubscribeActorEventsAlpha1 stream.
|
Package grpc implements the transport.Invoker interface against the app-initiated SubscribeActorEventsAlpha1 stream. |
|
app/transport/http
Package http implements the transport.Invoker interface for the HTTP actor callback protocol: PUT /actors/{type}/{id}/method/{method}, POST/DELETE /actors/..., with X-Daprerrorresponseheader and X-Daprremindercancel response headers signalling actor errors and reminder cancellation respectively.
|
Package http implements the transport.Invoker interface for the HTTP actor callback protocol: PUT /actors/{type}/{id}/method/{method}, POST/DELETE /actors/..., with X-Daprerrorresponseheader and X-Daprremindercancel response headers signalling actor errors and reminder cancellation respectively. |
|
workflow/activity/claim
Package claim implements the durable execution-claim record for activity actors under the WorkflowsFastPath preview: a lease written only around placement churn, so a recovery arrival on a new placement owner can tell a live cross-host execution, or its published result, from one that died with its host.
|
Package claim implements the durable execution-claim record for activity actors under the WorkflowsFastPath preview: a lease written only around placement churn, so a recovery arrival on a new placement owner can tell a live cross-host execution, or its published result, from one that died with its host. |
|
workflow/common/detached
Package detached runs work that must outlive the invocation requesting it, such as arming the reminder of an already committed inbox row, on a runtime-lifetime context rather than an invocation, claim, or wake context.
|
Package detached runs work that must outlive the invocation requesting it, such as arming the reminder of an already committed inbox row, on a runtime-lifetime context rather than an invocation, claim, or wake context. |
|
workflow/common/pendingstart
Package pendingstart describes a workflow instance whose creation was committed but which has never executed a turn.
|
Package pendingstart describes a workflow instance whose creation was committed but which has never executed a turn. |
|
workflow/executor/pending
Package pending implements a process-local rendezvous between workflow and activity task waiters and the completions reported by the application.
|
Package pending implements a process-local rendezvous between workflow and activity task waiters and the completions reported by the application. |
Click to show internal directories.
Click to hide internal directories.