Table of Contents

Class GrpcClient

Namespace
IdeaStatiCa.Plugin.Grpc
Assembly
IdeaStatiCa.Plugin.dll

Client implementation for the Grpc connection.

public class GrpcClient : IGrpcClient, IGrpcCommunicator, IGrpcService, IGrpcSender

Inheritance

Derived

Implements

Inherited Members

Constructors

GrpcClient(IPluginLogger, int)

Initializes the IdeaStatiCa Grpc client.

public GrpcClient(IPluginLogger logger, int maxDataLength = 104857600)

Parameters

logger IPluginLogger

The instance of the pluginLogger

maxDataLength int

The maximal size of GrpcMessage.data in grpc message

Fields

Logger

protected readonly IPluginLogger Logger

Field Value

IPluginLogger

Properties

ClientID

ID of the client. Typically the PID of the plugins process.

public string ClientID { get; }

Property Value

string

Host

The host

public string Host { get; }

Property Value

string

IsConnected

Determines whether client is connected.

public bool IsConnected { get; }

Property Value

bool

Port

Port on which the server will communicate.

public int Port { get; }

Property Value

int

Methods

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

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

Parameters

requestStream IAsyncStreamReader<GrpcMessage>
responseStream IServerStreamWriter<GrpcMessage>
context ServerCallContext

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)

Sends a message to the server.

public Task SendMessageAsync(GrpcMessage message)

Parameters

message GrpcMessage

Grpc message to send.

Returns

Task

StartAsync(string, int)

Connects to the server and starts listen to responses.

public Task StartAsync(string clientId, int port)

Parameters

clientId string

Current client ID (PID)

port int

Port on which the server is running.

Returns

Task

StopAsync()

Disconnets client from the server.

public Task StopAsync()

Returns

Task

ClientConnected

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

public event EventHandler ClientConnected

Event Type

EventHandler

ClientDisconnected

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

public event EventHandler ClientDisconnected

Event Type

EventHandler