Class DefaultRPCFactory

java.lang.Object
eu.cloudnetservice.driver.impl.network.rpc.DefaultRPCFactory
All Implemented Interfaces:
eu.cloudnetservice.driver.network.rpc.factory.RPCFactory

@Singleton @Provides(eu.cloudnetservice.driver.network.rpc.factory.RPCFactory.class) public final class DefaultRPCFactory extends Object implements eu.cloudnetservice.driver.network.rpc.factory.RPCFactory
The default factory implementation for everything related to rpc.
Since:
4.0
  • Field Details

    • defaultObjectMapper

      private final eu.cloudnetservice.driver.network.object.ObjectMapper defaultObjectMapper
    • defaultDataBufFactory

      private final eu.cloudnetservice.driver.network.buffer.DataBufFactory defaultDataBufFactory
    • rpcGenerationCache

      private final RPCGenerationCache rpcGenerationCache
  • Constructor Details

    • DefaultRPCFactory

      @Inject public DefaultRPCFactory(@NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper defaultObjectMapper, @NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory defaultDataBufFactory)
      Constructs a new default rpc provider factory instance.
      Parameters:
      defaultObjectMapper - the default object mapper to use if no object mapper is provided in factory calls.
      defaultDataBufFactory - the default data buf factory to use if no object mapper is provided in factory calls.
      Throws:
      NullPointerException - if either the given object mapper or data buf factory is null.
  • Method Details

    • newRPCSenderBuilder

      @NonNull public eu.cloudnetservice.driver.network.rpc.RPCSender.Builder newRPCSenderBuilder(@NonNull @NonNull Class<?> target)
      Specified by:
      newRPCSenderBuilder in interface eu.cloudnetservice.driver.network.rpc.factory.RPCFactory
    • newRPCHandlerBuilder

      public <T> @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T> newRPCHandlerBuilder(@NonNull @NonNull Class<T> target)
      Specified by:
      newRPCHandlerBuilder in interface eu.cloudnetservice.driver.network.rpc.factory.RPCFactory
    • newRPCBasedImplementationBuilder

      @NonNull public <T> @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> newRPCBasedImplementationBuilder(@NonNull @NonNull Class<T> baseClass)
      Specified by:
      newRPCBasedImplementationBuilder in interface eu.cloudnetservice.driver.network.rpc.factory.RPCFactory
    • defaultObjectMapper

      @NonNull public @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper defaultObjectMapper()
      Get the default object mapper used by this factory.
      Returns:
      the default object mapper.
    • defaultDataBufFactory

      @NonNull public @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory defaultDataBufFactory()
      Get the default data buf factory used by this mapper.
      Returns:
      the default data buf factory.