Uses of Interface
com.ultikits.ultitools.websocket.CloudChannel
Packages that use CloudChannel
Package
Description
UltiPanel WebSocket client internals, and the three stable extension points modules use.
-
Uses of CloudChannel in com.ultikits.ultitools.manager
Fields in com.ultikits.ultitools.manager declared as CloudChannelModifier and TypeFieldDescriptionprivate CloudChannelAgentOutboundFeeds.liveThe live channel between a welcome and its close, ornull.Methods in com.ultikits.ultitools.manager with parameters of type CloudChannelModifier and TypeMethodDescriptionvoidAgentOutboundFeeds.closed(CloudChannel channel) A connection closed: nothing is sent until the next welcome, and the lines not yet sent are dropped (D-14).private voidRemoteFileOperations.delete(CloudRequest request, CloudChannel channel) Answersfiles.delete: removes one file, or one symbolic link as the link itself.private booleanAgentTelemetry.enabled(CloudChannel channel) private static voidRemoteFileOperations.error(CloudChannel channel, String replyTo, String type, String code, String message) Sends a correlated error for one result type.private static voidRemotePropertiesHandler.error(CloudChannel channel, String replyTo, String type, String code, String message) Sends a correlated error for one result type, capped at the contract's 500 code points.voidAgentOutboundFeeds.established(CloudChannel channel, Executor agentThread, boolean logsAccepted) A connection was established: its channel becomes the live one, the telemetry sends its opening snapshots, and the log capture is attached when thelogsswitch is on (again, if a logout detached it).(package private) voidAgentLogBatcher.flush(CloudChannel channel) Sends the buffered lines as onelog.linesframe, if the channel can take it.private voidRemotePropertiesHandler.get(CloudRequest request, CloudChannel channel) Answersproperties.get.voidAgentTelemetry.handle(CloudRequest request, CloudChannel channel) Handlessnapshot.request: pushes the requested snapshots in request order and then answerssnapshot.request.resultwith what was sent (SEMANTICS item 4, checker B-W3).voidRemoteFileOperations.handle(CloudRequest request, CloudChannel channel) voidRemotePropertiesHandler.handle(CloudRequest request, CloudChannel channel) private voidRemoteFileOperations.list(CloudRequest request, CloudChannel channel) Answersfiles.list: one directory's entries, with the size and modification time of files (nullfor directories), or — for the empty path — the configured editable roots, which is what the contract means by the server root: the panel may browse no further up than the operator's grant.(package private) voidAgentTelemetry.onWelcome(CloudChannel channel) Sends the four snapshots a fresh connection starts from:status,players.snapshot,plugins.snapshotandworlds.snapshot, in that order.private voidRemoteFileOperations.read(CloudRequest request, CloudChannel channel) Answersfiles.read: the file's content decoded as strict UTF-8, its size in bytes and the SHA-256 of exactly those bytes — the version a laterfiles.writemust send back as itsbaseVersion.private voidRemoteFileOperations.refuseDelete(CloudChannel channel, String replyTo, String path, String code, String message) Answers a refusedfiles.deleteand records it, asRemoteFileOperations.refuseWrite(com.ultikits.ultitools.websocket.CloudChannel, java.lang.String, java.lang.String, java.lang.String, java.lang.String)does.private voidRemotePropertiesHandler.refuseGet(CloudChannel channel, String replyTo, String code, String message) Answers a refusedproperties.getand records the same text, asRemotePropertiesHandler.refuseUpdate(com.ultikits.ultitools.websocket.CloudChannel, java.lang.String, java.lang.String, java.lang.String, java.lang.String)does.private voidRemoteFileOperations.refuseList(CloudChannel channel, String replyTo, String path, String code, String message) Answers a refusedfiles.listand records it, asRemoteFileOperations.refuseRead(com.ultikits.ultitools.websocket.CloudChannel, java.lang.String, java.lang.String, java.lang.String, java.lang.String)does.private voidRemoteFileOperations.refuseRead(CloudChannel channel, String replyTo, String path, String code, String message) Answers a refusedfiles.readand records it, asRemoteFileOperations.refuseWrite(com.ultikits.ultitools.websocket.CloudChannel, java.lang.String, java.lang.String, java.lang.String, java.lang.String)does.private voidRemotePropertiesHandler.refuseUpdate(CloudChannel channel, String replyTo, String target, String code, String message) Answers a refusedproperties.updateand records the same text in the action log, so the log says what the operator was told.private voidRemoteFileOperations.refuseWrite(CloudChannel channel, String replyTo, String path, String code, String message) Answers a refusedfiles.writeand records the same text in the action log, so the log says what the operator was told.private static booleanAgentTelemetry.send(CloudChannel channel, String type, com.google.gson.JsonObject payload) private static voidAgentTelemetry.sendChanged(CloudChannel channel, String type, Supplier<com.google.gson.JsonObject> payload, AgentTelemetry.Tracked track, long now) Sends one snapshot when its mapped payload differs from the last one sent and at least 10000L ms have passed since that send.private voidAgentOutboundFeeds.sendErrorReports(CloudChannel channel) Sends what the collector grouped since the last second, while theerrorsswitch is on.private static booleanAgentTelemetry.sendForced(CloudChannel channel, String type, Supplier<com.google.gson.JsonObject> payload, AgentTelemetry.Tracked track, long now) Sends one snapshot regardless of the coalescing window, because the panel asked for it, and restarts that snapshot's window from now.private voidAgentTelemetry.sendRequested(String replyTo, List<String> targets, CloudChannel channel) Takes a fresh main-thread sample, then pushes the requested snapshots whether or not their content changed -- the panel asked for them -- and restarts each one's coalescing window from now, then answers the request.private voidAgentTelemetry.sendWelcome(CloudChannel channel) (package private) voidAgentTelemetry.tick(CloudChannel channel) Advances the cadence; the session wiring calls this about once a second.private voidRemotePropertiesHandler.update(CloudRequest request, CloudChannel channel) Answersproperties.update.private voidRemoteFileOperations.write(CloudRequest request, CloudChannel channel) Answersfiles.write: replaces an existing file's content when, and only when, the panel'sbaseVersionstill equals the SHA-256 of the bytes on disk. -
Uses of CloudChannel in com.ultikits.ultitools.utils
Classes in com.ultikits.ultitools.utils that implement CloudChannelModifier and TypeClassDescriptionprivate final classThe live channel: the framed channel, with the outbound capability gate in front.(package private) final classFrames protocol replies over a socket handoff, enforcing correlation and UTF-8 frame limits.Fields in com.ultikits.ultitools.utils declared as CloudChannelModifier and TypeFieldDescriptionprivate final CloudChannelAgentProtocol.channelprivate final CloudChannelPlayerLinkChannel.Held.channelFields in com.ultikits.ultitools.utils with type parameters of type CloudChannelMethods in com.ultikits.ultitools.utils that return CloudChannelModifier and TypeMethodDescription(package private) CloudChannelAgentProtocol.channel()private CloudChannelCloudFeatures.liveChannel()Methods in com.ultikits.ultitools.utils with parameters of type CloudChannelModifier and TypeMethodDescriptionprivate voidPlayerLinkChannel.answer(CloudChannel connection, String id, com.google.gson.JsonObject result) private booleanPlayerLinkChannel.callHandler(CloudPlayerLinks.LinkEventHandler target, CloudPlayerLinks.LinkCompletion completion, CloudChannel connection, String id, Runnable exit) private voidPlayerActionHandler.completeTeleport(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action, Boolean completed, Throwable error) Answers the teleport once its future completes.private voidPlayerLinkChannel.deliver(CloudPlayerLinks.LinkCompletion completion, CloudChannel connection) Delivers one completion to the module's handler, or answers it when no handler is set.private voidPlayerActionHandler.deny(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action, String code, String message) private org.bukkit.LocationPlayerActionHandler.destination(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action, org.bukkit.entity.Player subject) Resolves the destination, answeringplayer_not_onlineorworld_not_foundand returning null when the target cannot be resolved.private voidAgentMessageRouter.dispatch(Envelope envelope, CloudChannel channel) voidAgentMessageRouter.dispatch(String text, CloudChannel channel) Parses and dispatches one frame, applying the capability gate before the handler.private voidAgentMessageRouter.dispatchAdmitted(Envelope envelope, CloudChannel channel) private voidRemoteConfigHandler.entries(CloudChannel channel, String replyTo, String path) private voidAgentMessageRouter.error(CloudChannel channel, String id, String code, String message, com.google.gson.JsonObject details) private voidAgentMessageRouter.error(CloudChannel channel, String id, String code, String message, com.google.gson.JsonObject details, String diagnostic) default voidAgentProtocol.Listener.established(CloudChannel channel) private voidPowerActionHandler.execute(CloudRequest request, CloudChannel channel, String action) Runs once per newly recorded id: the operator switch, then (for a restart) the restart pre-check, then the result, the pre-shutdown hook and the scheduled power action in that order.private voidPlayerActionHandler.fail(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action, Throwable error) Maps a throwing call to the contract'sinternal_errorwith one fixed message: the exception class and stack stay in the local log and never reach the wire, as in the agent router (22-08).private voidRemoteConfigHandler.failed(CloudChannel channel, String replyTo, String type, RuntimeException failure) (package private) static voidAckFirstGate.handle(CloudRequest request, CloudChannel channel, DedupeLedger ledger, Runnable execute) Records and persists a new id under the shared ledger monitor, then releases the monitor before acknowledging and executing.voidCredentialRotationHandler.handle(CloudRequest request, CloudChannel channel) voidModuleRequestHandler.handle(CloudRequest request, CloudChannel channel) Validates onemodule.requestand hands it to its owning module's responder.voidPlayerActionHandler.handle(CloudRequest request, CloudChannel channel) Validates the payload on the dispatching thread, then performs the action on the main thread.voidPowerActionHandler.handle(CloudRequest request, CloudChannel channel) Validates the action, then runs persist-acknowledge-execute.voidRemoteCommandHandler.handle(CloudRequest request, CloudChannel channel) private static voidSerialRequestWorker.handle(CloudRequestHandler handler, CloudRequest request, CloudChannel channel) private voidRemoteConfigHandler.handleEntries(CloudRequest request, CloudChannel channel) Answers one file's typed entries and the SHA-256 of its current bytes.private voidRemoteConfigHandler.handleTree(CloudRequest request, CloudChannel channel) Answers the configuration file tree: each loaded module with the files it registered.private voidSerialRequestWorker.handleUnlessShuttingDown(CloudRequestHandler handler, CloudRequest request, CloudChannel channel) private voidRemoteConfigHandler.handleUpdate(CloudRequest request, CloudChannel channel) Writes exactly the keys a panel edit names, and only while the file still holds the bytes it read.private static voidRemoteCommandHandler.internalError(CloudRequest request, CloudChannel channel, RuntimeException failure) private voidPlayerLinkChannel.invokeHandler(CloudPlayerLinks.LinkEventHandler target, CloudPlayerLinks.LinkCompletion completion, CloudChannel connection, String id, Runnable exit) private voidPlayerLinkChannel.onCompleted(CloudRequest request, CloudChannel connection) private voidRemoteConfigHandler.onConfigThread(CloudChannel channel, String replyTo, String type, Runnable work) private voidPlayerLinkChannel.onCreated(CloudRequest request, CloudChannel connection) private voidPlayerLinkChannel.onExpired(CloudRequest request, CloudChannel connection) private voidPlayerActionHandler.perform(CloudRequest request, CloudChannel channel, PlayerActionHandler.Action action) Runs once per accepted request, on the main thread: resolve the subject, then act.private voidAgentMessageRouter.refuse(CloudChannel channel, String id, String capability, String message) (package private) voidShutdownGate.refuse(CloudRequest request, CloudChannel channel) Answers a covered request that was not let in.private static voidRemoteConfigHandler.refuseUpdate(CloudChannel channel, String replyTo, RemoteConfigHandler.UpdateAudit audit, String code, String message) Answers a refusedconfig.updateand records the same text as its one DENIED action-log entry, so the log says what the operator was told.(package private) voidCloudFeatures.register(AgentMessageRouter router, CloudChannel channel, AgentProtocol protocol, CredentialRotationHandler.CredentialPersister rotation, ScheduledExecutorService agent) Registers the inbound handlers on one connection's router and points the lifetime objects at that connection.private static voidModuleRequestHandler.reply(CloudChannel channel, String replyTo, com.google.gson.JsonElement result, Throwable failure) Produces the request's single reply from the registry's outcome.private voidCloudFeatures.reportSettingsIfChanged(CloudChannel channel) The comparison and the mark happen under one monitor, with the hello's own mark, so a reload racing a hello can neither repeat a value nor lose one.private voidPlayerActionHandler.runGameMode(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action, org.bukkit.entity.Player subject) Applies the requested game mode and reports it as done only when the player's mode now equals the requested one: another plugin may cancel thePlayerGameModeChangeEvent, and the platform discards that answer.private voidPlayerActionHandler.runKick(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action, org.bukkit.entity.Player subject) Kicks with the reason as one plain-text component, or with the server's own default message when the panel sent no reason.private voidPlayerActionHandler.runTeleport(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action, org.bukkit.entity.Player subject) Starts the asynchronous teleport and answers when its future completes.private voidRemoteCommandHandler.runUnlessDisabling(Runnable action, CloudRequest request, CloudChannel channel) Runs one step of the acknowledged request unless the plugin is disabling.private static voidModuleRequestHandler.sendInternalError(CloudChannel channel, String replyTo) Answersinternal_erroronce, and gives up quietly if the channel refuses that too.private voidPlayerLinkChannel.sendResult(CloudChannel connection, String id, com.google.gson.JsonObject result) private voidSerialRequestWorker.submit(CloudRequestHandler handler, CloudRequest request, CloudChannel channel) private voidPlayerActionHandler.succeed(CloudChannel channel, CloudRequest request, PlayerActionHandler.Action action) private voidRemoteConfigHandler.update(CloudChannel channel, String replyTo, String path, String baseVersion, List<RemoteConfigHandler.Change> changes, RemoteConfigHandler.UpdateAudit audit) private voidRemoteConfigHandler.write(CloudChannel channel, String replyTo, RemoteConfigHandler.Registered registered, ConfigLoadResult loaded, List<RemoteConfigHandler.Change> changes, RemoteConfigHandler.UpdateAudit audit) Constructors in com.ultikits.ultitools.utils with parameters of type CloudChannelModifierConstructorDescriptionprivateHeld(CloudPlayerLinks.LinkCompletion completion, CloudChannel channel) Constructor parameters in com.ultikits.ultitools.utils with type arguments of type CloudChannelModifierConstructorDescription(package private)PlayerLinkChannel(Supplier<CloudChannel> channel, DedupeLedger ledger, BooleanSupplier onlineMode, LongSupplier gatewayClockOffsetMillis, ScheduledExecutorService timers, Executor handlerThread) Binds the channel to one connection's suppliers and to the shared session ledger.(package private)PlayerLinkChannel(Supplier<CloudChannel> channel, DedupeLedger ledger, BooleanSupplier onlineMode, LongSupplier gatewayClockOffsetMillis, ScheduledExecutorService timers, Executor handlerThread, ShutdownGate.Signal shutdown) -
Uses of CloudChannel in com.ultikits.ultitools.websocket
Methods in com.ultikits.ultitools.websocket with parameters of type CloudChannelModifier and TypeMethodDescriptionvoidCloudRequestHandler.handle(CloudRequest request, CloudChannel channel) Validates the payload and handles it on the dispatching thread.