MethodDispatcherBase Class

  • java.lang.Object
    • MethodDispatcher
      • microsoft.servicefabric.services.remoting.builder.MethodDispatcherBase

public class MethodDispatcherBase implements MethodDispatcher

The base class used by remoting code generator to generate the type that dispatches requests from the client to the right interface and method of the remoted object.

Method Summary

Modifier and Type Method and Description
CompletableFuture<Object> continueWith(CompletableFuture<?> future)

Internal - used by Service remoting

<TRetval> CompletableFuture<Object> continueWithResult(int methodId, CompletableFuture<TRetval> future)

Internal - used by Service remoting

abstract Object createResponseBody(int methodId, Object returnValue)

This method is implemented by the generated method dispatcher to create the response from the specified return value as a result of dispatching the method to the remoted object.

abstract Object createResponseMessageBody(Object responseMessageBodyValue)

This method is implemented by the generated method to create the response message.

void dispatch(Object objectImplementation, int methodId, Object requestMsgBody)

This method is used to dispatch one way messages to the specified methodId of the interface implemented by the remoted object.

CompletableFuture<Object> dispatchAsync(Object objectImplementation, int methodId, Object requestMsgBody, CancellationToken cancellationToken)

This method is implemented by the generated method dispatcher to dispatch request to the specified methodId of the interface implemented by the remoted object.

int getInterfaceId()

Interface Id is used to identify remoting Interfaces.

String getMethodName(int methodId)
abstract Object getRequestMessageBodyValue(Object requestMessageBody)

This method is implemented by the generated method dispatcher to get the request message,

void initialize(int interfaceId, Map<Integer, String> methodNameMap)
abstract void onDispatch(int methodId, Object remotedObject, Object requestBody)

This method is implemented by the generated method dispatcher to dispatch one way messages to the specified methodId of the interface implemented by the remoted object.

abstract CompletableFuture<Object> onDispatchAsync(int methodId, Object remotedObject, Object requestBody, CancellationToken cancellationToken)

This method is implemented by the generated method dispatcher to dispatch request to the specified methodId of the interface implemented by the remoted object.

Method Details

continueWith

protected CompletableFuture continueWith(CompletableFuture future)

Internal - used by Service remoting

Parameters:

future - continuation future

Returns:

A java.util.concurrent.CompletableFuture that represents outstanding operation.

continueWithResult

protected CompletableFuture continueWithResult(int methodId, CompletableFuture future)

Internal - used by Service remoting

Parameters:

methodId - method id
future - continuation future

Returns:

A java.util.concurrent.CompletableFuture that represents outstanding operation.

createResponseBody

protected abstract Object createResponseBody(int methodId, Object returnValue)

This method is implemented by the generated method dispatcher to create the response from the specified return value as a result of dispatching the method to the remoted object.

Parameters:

methodId - Id of the method.
returnValue - The returned value from the method.

Returns:

A Object that represents the response body to be sent back to the client.

createResponseMessageBody

protected abstract Object createResponseMessageBody(Object responseMessageBodyValue)

This method is implemented by the generated method to create the response message.

Parameters:

responseMessageBodyValue - response message body

Returns:

Object that represents the respnse messge body.

dispatch

public void dispatch(Object objectImplementation, int methodId, Object requestMsgBody)

This method is used to dispatch one way messages to the specified methodId of the interface implemented by the remoted object.

Overrides:

MethodDispatcherBase.dispatch(Object objectImplementation, int methodId, Object requestMsgBody)

Parameters:

objectImplementation - remoted object Implementation.
methodId - methodId of the interface implemented by the remoted object.
requestMsgBody - message body.

dispatchAsync

public CompletableFuture dispatchAsync(Object objectImplementation, int methodId, Object requestMsgBody, CancellationToken cancellationToken)

This method is implemented by the generated method dispatcher to dispatch request to the specified methodId of the interface implemented by the remoted object.

Overrides:

MethodDispatcherBase.dispatchAsync(Object objectImplementation, int methodId, Object requestMsgBody, CancellationToken cancellationToken)

Parameters:

objectImplementation - The remoted object instance
methodId - id of the method
requestMsgBody - The request body
cancellationToken

Returns:

A java.util.concurrent.CompletableFuture that represents outstanding operation. The result of the task is the return value from the method.

getInterfaceId

public int getInterfaceId()

Interface Id is used to identify remoting Interfaces.

Overrides:

MethodDispatcherBase.getInterfaceId()

Returns:

interface id.

getMethodName

public String getMethodName(int methodId)

Overrides:

MethodDispatcherBase.getMethodName(int methodId)

Parameters:

methodId

getRequestMessageBodyValue

protected abstract Object getRequestMessageBodyValue(Object requestMessageBody)

This method is implemented by the generated method dispatcher to get the request message,

Parameters:

requestMessageBody - request message body.

Returns:

A Object that represents the request body.

initialize

public void initialize(int interfaceId, Map methodNameMap)

Parameters:

interfaceId
methodNameMap

onDispatch

protected abstract void onDispatch(int methodId, Object remotedObject, Object requestBody)

This method is implemented by the generated method dispatcher to dispatch one way messages to the specified methodId of the interface implemented by the remoted object.

Parameters:

methodId - Id of the method.
remotedObject - The remoted object instance.
requestBody - message body

onDispatchAsync

protected abstract CompletableFuture onDispatchAsync(int methodId, Object remotedObject, Object requestBody, CancellationToken cancellationToken)

This method is implemented by the generated method dispatcher to dispatch request to the specified methodId of the interface implemented by the remoted object.

Parameters:

methodId - id of the method
remotedObject - the remoted object instance
requestBody - The request body
cancellationToken - Cancellation token to cancel the async request.

Returns:

A java.util.concurrent.CompletableFuture that represents outstanding operation. The result of the task is the return value from the method.

Applies to