Class LoginServerConnectFlow

java.lang.Object
app.l2nx.gs.adapter.core.connect.LoginServerConnectFlow
All Implemented Interfaces:
HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>

public final class LoginServerConnectFlow extends Object implements HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
HostConnectFlow for login-server host-type. POSTs to /api/tenants/loginservers/connect and deserializes the body into LoginServerConnectResponse. LS deployments carry no sync-stream topic bundle (the response shape mirrors the gameserver one minus syncTopics).
  • Field Details

  • Constructor Details

    • LoginServerConnectFlow

      public LoginServerConnectFlow(AdapterConfig config)
  • Method Details

    • connect

      public TypedConnectOutcome<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse> connect()
      Description copied from interface: HostConnectFlow
      Execute one handshake attempt against the platform. The returned TypedConnectOutcome wraps either the parsed response or a transport / HTTP error — never throws into the caller.
      Specified by:
      connect in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • connectPath

      public String connectPath()
      Description copied from interface: HostConnectFlow
      The path under platformUrl this flow POSTs to — exposed for test introspection and logging.
      Specified by:
      connectPath in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • response

      public @Nullable app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse response()
      Description copied from interface: HostConnectFlow
      Captured response from the last successful HostConnectFlow.connect(). Returns null before the first successful call.
      Specified by:
      response in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • heartbeatTopic

      public @Nullable String heartbeatTopic()
      Description copied from interface: HostConnectFlow
      Heartbeat Kafka topic from the captured response.
      Specified by:
      heartbeatTopic in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • topics

      public @Nullable app.l2nx.gs.adapter.api.rest.MessagingTopics topics()
      Description copied from interface: HostConnectFlow
      Messaging topic bundle (events + commands) from the captured response.
      Specified by:
      topics in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • syncTopics

      public @Nullable app.l2nx.gs.adapter.api.rest.SyncTopics syncTopics()
      Description copied from interface: HostConnectFlow
      Sync-stream topic bundle (db / runtime / datapack). Always null for login-server host-type — LS deployments carry no sync streams.
      Specified by:
      syncTopics in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • serverId

      public @Nullable UUID serverId()
      Specified by:
      serverId in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • tenantId

      public @Nullable UUID tenantId()
      Specified by:
      tenantId in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • tenantSlug

      public @Nullable String tenantSlug()
      Specified by:
      tenantSlug in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • serverSlug

      public @Nullable String serverSlug()
      Specified by:
      serverSlug in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • serverName

      public @Nullable String serverName()
      Specified by:
      serverName in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>
    • kafka

      public @Nullable app.l2nx.gs.adapter.api.rest.KafkaCredentials kafka()
      Description copied from interface: HostConnectFlow
      Kafka client bootstrap credentials from the captured response. Named kafka() rather than kafkaCredentials() to match the field accessor naming on the underlying response DTOs.
      Specified by:
      kafka in interface HostConnectFlow<app.l2nx.gs.adapter.api.rest.LoginServerConnectResponse>