Class LogServiceImpl
java.lang.Object
com.soulfiremc.grpc.generated.LogsServiceGrpc.LogsServiceImplBase
com.soulfiremc.server.grpc.LogServiceImpl
- All Implemented Interfaces:
LogsServiceGrpc.AsyncService, io.grpc.BindableService
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidgetPrevious(PreviousLogRequest request, io.grpc.stub.StreamObserver<PreviousLogResponse> responseObserver) Retrieves historical log entries from the server's in-memory log buffer.voidsubscribe(LogRequest request, io.grpc.stub.StreamObserver<LogResponse> responseObserver) Subscribes to a real-time stream of log entries matching the specified scope.Methods inherited from class LogsServiceGrpc.LogsServiceImplBase
bindService
-
Constructor Details
-
LogServiceImpl
-
-
Method Details
-
getPrevious
public void getPrevious(PreviousLogRequest request, io.grpc.stub.StreamObserver<PreviousLogResponse> responseObserver) Description copied from interface:LogsServiceGrpc.AsyncServiceRetrieves 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 void subscribe(LogRequest request, io.grpc.stub.StreamObserver<LogResponse> responseObserver) Description copied from interface:LogsServiceGrpc.AsyncServiceSubscribes 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
-