[BindServiceMethod(typeof(ServiceController), "BindService")]
public abstract class ServiceControllerBase
Base class for server-side implementations of ServiceController
Inheritance
System.Object > ServiceController.ServiceControllerBaseNamespace
Google.Cloud.ServiceControl.V1Assembly
Google.Cloud.ServiceControl.V1.dll
Methods
Check(CheckRequest, ServerCallContext)
public virtual Task<CheckResponse> Check(CheckRequest request, ServerCallContext context)
Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed.
If feasible, the client should cache the check results and reuse them for
60 seconds. In case of any server errors, the client should rely on the
cached results for much longer time to avoid outage.
WARNING: There is general 60s delay for the configuration and policy
propagation, therefore callers MUST NOT depend on the Check
method having
the latest policy information.
NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has the size limit of 64KB.
This method requires the servicemanagement.services.check
permission
on the specified service. For more information, see
Cloud IAM.
Parameters | |
---|---|
Name | Description |
request | CheckRequest The request received from the client. |
context | Grpc.Core.ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
System.Threading.Tasks.Task<CheckResponse> | The response to send back to the client (wrapped by a task). |
Report(ReportRequest, ServerCallContext)
public virtual Task<ReportResponse> Report(ReportRequest request, ServerCallContext context)
Reports operation results to Google Service Control, such as logs and metrics. It should be called after an operation is completed.
If feasible, the client should aggregate reporting data for up to 5 seconds to reduce API traffic. Limiting aggregation to 5 seconds is to reduce data loss during client crashes. Clients should carefully choose the aggregation time window to avoid data loss risk more than 0.01% for business and compliance reasons.
NOTE: the [ReportRequest][google.api.servicecontrol.v1.ReportRequest] has the size limit (wire-format byte size) of 1MB.
This method requires the servicemanagement.services.report
permission
on the specified service. For more information, see
Google Cloud IAM.
Parameters | |
---|---|
Name | Description |
request | ReportRequest The request received from the client. |
context | Grpc.Core.ServerCallContext The context of the server-side call handler being invoked. |
Returns | |
---|---|
Type | Description |
System.Threading.Tasks.Task<ReportResponse> | The response to send back to the client (wrapped by a task). |