Class LogsServiceGrpc.LogsServiceBlockingStub

java.lang.Object
io.grpc.stub.AbstractStub<LogsServiceGrpc.LogsServiceBlockingStub>
io.grpc.stub.AbstractBlockingStub<LogsServiceGrpc.LogsServiceBlockingStub>
com.soulfiremc.grpc.generated.LogsServiceGrpc.LogsServiceBlockingStub
Enclosing class:
LogsServiceGrpc

public static final class LogsServiceGrpc.LogsServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub<LogsServiceGrpc.LogsServiceBlockingStub>
A stub to allow clients to do limited synchronous rpc calls to service LogsService.
Service for accessing SoulFire server logs.
Provides both historical log retrieval and real-time log streaming capabilities.
All methods require appropriate authentication and permissions based on the requested scope.
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub

    io.grpc.stub.AbstractStub.StubFactory<T>
  • Method Summary

    Modifier and Type
    Method
    Description
    build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
     
    Retrieves historical log entries from the server's in-memory log buffer.
    Subscribes to a real-time stream of log entries matching the specified scope.

    Methods inherited from class io.grpc.stub.AbstractBlockingStub

    newStub, newStub

    Methods inherited from class io.grpc.stub.AbstractStub

    getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • build

      protected LogsServiceGrpc.LogsServiceBlockingStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
      Specified by:
      build in class io.grpc.stub.AbstractStub<LogsServiceGrpc.LogsServiceBlockingStub>
    • getPrevious

      public PreviousLogResponse getPrevious(PreviousLogRequest request)
      Retrieves historical log entries from the server's in-memory log buffer.
      The server maintains a rolling buffer of the last 300 log entries.
      Only returns non-personal logs that match the specified scope.
      Permissions required:
      - GlobalLogScope: GLOBAL_SUBSCRIBE_LOGS
      - InstanceLogScope/BotLogScope/InstanceScriptLogScope: INSTANCE_SUBSCRIBE_LOGS for the instance
      - PersonalLogScope: No special permissions (but returns empty since personal logs are not stored)
      Errors:
      - PERMISSION_DENIED: User lacks required permission for the requested scope
      - INVALID_ARGUMENT: Scope not set or invalid UUID format
      - INTERNAL: Server error while retrieving logs
      
    • subscribe

      public Iterator<LogResponse> subscribe(LogRequest request)
      Subscribes to a real-time stream of log entries matching the specified scope.
      The stream remains open until cancelled by the client or the connection is lost.
      Permissions are re-validated periodically (every 1 second) to handle permission changes.
      For PersonalLogScope: Receives personal messages directed to the authenticated user.
      Personal messages are transient and only delivered to active subscribers.
      Permissions required:
      - GlobalLogScope: GLOBAL_SUBSCRIBE_LOGS
      - InstanceLogScope/BotLogScope/InstanceScriptLogScope: INSTANCE_SUBSCRIBE_LOGS for the instance
      - PersonalLogScope: No special permissions required
      Errors:
      - PERMISSION_DENIED: User lacks required permission for the requested scope
      - INVALID_ARGUMENT: Scope not set or invalid UUID format
      - INTERNAL: Server error while setting up subscription