Table of Contents

Class StateService

Namespace
Virtufin.Api.Services
Assembly
Virtufin.Api.dll
public class StateService : State.StateBase
Inheritance
State.StateBase
StateService
Inherited Members

Constructors

StateService(ServicesConfiguration, DaprClient, DaprClient, ILogger<StateService>)

public StateService(ServicesConfiguration config, DaprClient daprClient, Dapr.DaprClient daprGrpcClient, ILogger<StateService> logger)

Parameters

config ServicesConfiguration
daprClient DaprClient
daprGrpcClient Dapr.DaprClient
logger ILogger<StateService>

Methods

DeleteBulkState(DeleteBulkStateRequest, ServerCallContext)

public override Task<DeleteBulkStateResponse> DeleteBulkState(DeleteBulkStateRequest request, ServerCallContext context)

Parameters

request DeleteBulkStateRequest
context ServerCallContext

Returns

Task<DeleteBulkStateResponse>

DeleteState(DeleteStateRequest, ServerCallContext)

public override Task<DeleteStateResponse> DeleteState(DeleteStateRequest request, ServerCallContext context)

Parameters

request DeleteStateRequest
context ServerCallContext

Returns

Task<DeleteStateResponse>

GetBulkState(GetBulkStateRequest, ServerCallContext)

public override Task<GetBulkStateResponse> GetBulkState(GetBulkStateRequest request, ServerCallContext context)

Parameters

request GetBulkStateRequest
context ServerCallContext

Returns

Task<GetBulkStateResponse>

GetState(GetStateRequest, ServerCallContext)

public override Task<GetStateResponse> GetState(GetStateRequest request, ServerCallContext context)

Parameters

request GetStateRequest
context ServerCallContext

Returns

Task<GetStateResponse>

QueryState(QueryStateRequest, ServerCallContext)

QueryState searches for state entries using Dapr's JSON query format. The query is backend-dependent; for Redis/Valkey, it supports: {"filter": {"PREFIX": "workmanager.worker."}} {"filter": {"EQ": {"key": "websocketmanager.connection.abc"}}} {"filter": {"OR": [{"PREFIX": "workmanager.worker."}, {"EQ": {"key": "workmanager.worker.index"}}]}} "{}" is Dapr's "match everything" query.

Requires the configured state store's Dapr component to support the Query API. For Redis/Valkey backends (state.redis/state.valkey) this means the RediSearch module must be loaded and the component must declare queryIndexes metadata -- a plain Redis/Valkey component without those does not support Query State at all (fails even "{}"), and returns a generic error with no query-specific detail. If the configured store doesn't support querying, use GetBulkState against known keys instead (see the key-naming convention above).

public override Task<QueryStateResponse> QueryState(QueryStateRequest request, ServerCallContext context)

Parameters

request QueryStateRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns

Task<QueryStateResponse>

The response to send back to the client (wrapped by a task).

SaveState(SaveStateRequest, ServerCallContext)

public override Task<SaveStateResponse> SaveState(SaveStateRequest request, ServerCallContext context)

Parameters

request SaveStateRequest
context ServerCallContext

Returns

Task<SaveStateResponse>