Class ChannelEntry

java.lang.Object
com.gigaspaces.lrmi.nio.ChannelEntry
All Implemented Interfaces:
IWriteInterestManager

public class ChannelEntry extends Object implements IWriteInterestManager
A Channel Entry is an entry in the Pivot Channels Table.
Since:
4.0
Author:
Igor Goldenberg
  • Field Details

    • _writer

      public final Writer _writer
    • _reader

      public final Reader _reader
    • _writeSelectionKey

      public SelectionKey _writeSelectionKey
    • _connectionID

      public final long _connectionID
      the unique connection ID identifier
  • Constructor Details

  • Method Details

    • readRequest

      public MarshalInputStream readRequest(Reader.Context ctx)
    • unmarshall

      public RequestPacket unmarshall(MarshalInputStream stream)
    • setOwnerRemoteObjID

      public void setOwnerRemoteObjID(long remoteObjID)
      Set the remote objectID this ChannelEntry belongs to.
    • getClientEndPointAddress

      public InetSocketAddress getClientEndPointAddress()
      Returns:
      the end point of the connected SocketChannel.
    • writeReply

      public void writeReply(ReplyPacket packet, boolean reuseBuffer, Writer.Context ctx, String monitoringId)
    • removeWriteInterest

      public void removeWriteInterest(boolean restoreReadInterest)
      Specified by:
      removeWriteInterest in interface IWriteInterestManager
    • setWriteInterest

      public void setWriteInterest()
      Specified by:
      setWriteInterest in interface IWriteInterestManager
    • getRemoteObjID

      public long getRemoteObjID()
      Returns:
      the remoteObjectID this ChannelEntry belongs to.
    • getConnectionTimeStamp

      public long getConnectionTimeStamp()
      Returns:
      the timeStamp where client connected to the server
    • getConnectionID

      public long getConnectionID()
      Returns:
      the unique connection ID identifier
    • returnSocket

      public void returnSocket()
    • onWriteEvent

      public void onWriteEvent()
    • close

      public void close() throws IOException
      Throws:
      IOException
    • setSourceDetails

      public void setSourceDetails(PlatformLogicalVersion logicalVersion, long pid)
    • getSourcePlatformLogicalVersion

      public PlatformLogicalVersion getSourcePlatformLogicalVersion()
    • getSourcePid

      public long getSourcePid()
    • getGeneratedTraffic

      public long getGeneratedTraffic()
    • getReceivedTraffic

      public long getReceivedTraffic()
    • getRemoteClassProvider

      public IRemoteClassProviderProvider getRemoteClassProvider()
    • getSocketChannel

      public SocketChannel getSocketChannel()
    • getReadSelectionKey

      public SelectionKey getReadSelectionKey()
    • isProtocolValidated

      public boolean isProtocolValidated()
    • readProtocolValidationHeader

      public boolean readProtocolValidationHeader(Reader.ProtocolValidationContext context)
    • monitorActivity

      public void monitorActivity(String trackingId)
    • getMonitoringModule

      public LRMIMonitoringModule getMonitoringModule()
    • getChannelState

      public ChannelEntry.State getChannelState()
    • setChannelState

      public void setChannelState(ChannelEntry.State state)
    • getWriteExecutionPhaseListener

      public WriteExecutionPhaseListener getWriteExecutionPhaseListener()