类 AbstractConnection

java.lang.Object
com.walker.tcp.connect.AbstractConnection
所有已实现的接口:
Connection
直接已知子类:
LongConnection

public class AbstractConnection extends Object implements Connection
  • 字段详细资料

    • logger

      protected final transient org.slf4j.Logger logger
  • 构造器详细资料

    • AbstractConnection

      public AbstractConnection(String id)
    • AbstractConnection

      public AbstractConnection()
  • 方法详细资料

    • getId

      public String getId()
      从接口复制的说明: Connection
      通道ID,这个是java系统连接通道提供的全局唯一ChannelId
      指定者:
      getId 在接口中 Connection
      返回:
    • getName

      public String getName()
      从接口复制的说明: Connection
      连接名称,这个也是系统唯一的,通常由业务定义或者绑定。如:卡号、设备终端IMEI等
      指定者:
      getName 在接口中 Connection
      返回:
    • getCreateTimeMills

      public long getCreateTimeMills()
      指定者:
      getCreateTimeMills 在接口中 Connection
    • supportLongConnection

      public boolean supportLongConnection()
      指定者:
      supportLongConnection 在接口中 Connection
    • isIdle

      public boolean isIdle()
      从接口复制的说明: Connection
      当前是否空闲
      指定者:
      isIdle 在接口中 Connection
      返回:
    • read

      public Request<?> read()
      指定者:
      read 在接口中 Connection
    • write

      public void write(Response<?> response)
      指定者:
      write 在接口中 Connection
    • disconnect

      public void disconnect()
      从接口复制的说明: Connection
      服务端强制断开连接
      指定者:
      disconnect 在接口中 Connection
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
    • equals

      public boolean equals(Object obj)
      覆盖:
      equals 在类中 Object
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object
    • setName

      public void setName(String name)
      指定者:
      setName 在接口中 Connection
    • isAuthenticated

      public boolean isAuthenticated()
      从接口复制的说明: Connection
      如果是长连接模式,返回该连接是否被业务认证。如果未认证就无法使用
      指定者:
      isAuthenticated 在接口中 Connection
      返回:
    • setAuthenticated

      protected void setAuthenticated(boolean result)
    • getAuthenticated

      public boolean getAuthenticated()
    • getEngineId

      public int getEngineId()
      从接口复制的说明: Connection
      获得该连接对应的引擎ID,通常一个项目中可能存在多种服务,每个服务对应一个服务引擎。

      如:一个TCP监听1010端口,另外一个服务监听2020端口等。

      如果系统只有一个监听服务,默认engineId = 0
      指定者:
      getEngineId 在接口中 Connection
      返回:
    • setEngineId

      public void setEngineId(int id)
    • getLastTime

      public long getLastTime()
      从接口复制的说明: Connection
      返回连接最后一次活动时间
      指定者:
      getLastTime 在接口中 Connection
      返回:
    • setLastTime

      public void setLastTime(long mills)
    • bindName

      public void bindName(String name)
      从接口复制的说明: Connection
      连接绑定业务标识,如:设备ID等

      绑定后,连接就被认证,后续可以使用了
      指定者:
      bindName 在接口中 Connection
    • isConnected

      public boolean isConnected()
      从接口复制的说明: Connection
      长连接,判断是否连接状态
      指定者:
      isConnected 在接口中 Connection
      返回:
    • getProtocolResolver

      public ProtocolResolver getProtocolResolver()
      指定者:
      getProtocolResolver 在接口中 Connection
    • setProtocolResolver

      public void setProtocolResolver(ProtocolResolver protocolResolver)
      从接口复制的说明: Connection
      设置报文解析器对象。对于一个连接会关联一个解析器以方便在request和response中使用
      指定者:
      setProtocolResolver 在接口中 Connection
    • getConnectionHost

      public String getConnectionHost()
      从接口复制的说明: Connection
      获取该连接对象绑定的主机信息,在集群环境中,需要标记连接对应主机。

      目前在聊天模块中,多主机部署通过消息方式推送,主机信息是队列的一部分,通过对方连接的主机知道消息如何被路由接收。

      指定者:
      getConnectionHost 在接口中 Connection
      返回:
    • setConnectionHost

      public void setConnectionHost(String connectionHost)
      指定者:
      setConnectionHost 在接口中 Connection
    • setId

      public void setId(String id)
    • setCreateTimeMills

      public void setCreateTimeMills(long createTimeMills)
    • getLongConnection

      public boolean getLongConnection()
    • setLongConnection

      public void setLongConnection(boolean longConnection)
    • setIdle

      public void setIdle(boolean idle)
    • getAlreadyLogin

      public int getAlreadyLogin()
      指定者:
      getAlreadyLogin 在接口中 Connection
    • setAlreadyLogin

      public void setAlreadyLogin(int alreadyLogin)