Table of Contents

Class GrpcService

Namespace
IdeaStatiCa.Plugin.Grpc.Services
Assembly
IdeaStatiCa.Plugin.dll
public class GrpcService : GrpcService.GrpcServiceBase, IGrpcService, IGrpcSender

Inheritance

Implements

Inherited Members

Constructors

GrpcService(IPluginLogger)

Initializes the grpc service

public GrpcService(IPluginLogger logger)

Parameters

logger IPluginLogger

Logger

Properties

IsConnected

Determines whether the client is connected.

public bool IsConnected { get; set; }

Property Value

bool

Methods

ConnectAsync(IAsyncStreamReader<GrpcMessage>, IServerStreamWriter<GrpcMessage>, ServerCallContext)

Establishes a two way connection between server and client.

public override Task ConnectAsync(IAsyncStreamReader<GrpcMessage> requestStream, IServerStreamWriter<GrpcMessage> responseStream, ServerCallContext context)

Parameters

requestStream IAsyncStreamReader<GrpcMessage>

Data incoming from client

responseStream IServerStreamWriter<GrpcMessage>

Data sent to client

context ServerCallContext

Returns

Task

HandleMessageAsync(GrpcMessage)

Handle incoming messages.

protected virtual Task HandleMessageAsync(GrpcMessage message)

Parameters

message GrpcMessage

Message incoming from client.

Returns

Task

RegisterHandler(string, IGrpcMessageHandler)

Registers a message handler.

public void RegisterHandler(string handlerId, IGrpcMessageHandler handler)

Parameters

handlerId string

UniqueID of the handler.

handler IGrpcMessageHandler

Handler implementation.

SendMessageAsync(GrpcMessage)

Send response to the client

public Task SendMessageAsync(GrpcMessage message)

Parameters

message GrpcMessage

Message to send

Returns

Task

Task which is responsible for sending message

Exceptions

Exception

Exception is thrown if sending data failed

ClientConnected

Triggered every time client connects. Sends a client ID in args.

public event EventHandler<string> ClientConnected

Event Type

EventHandler<string>

ClientDisconnected

Triggered when client has disconnected. Sends a client ID in args.

public event EventHandler<string> ClientDisconnected

Event Type

EventHandler<string>