Class TcpTransport

    • Field Detail

      • remoteLocation

        protected final URI remoteLocation
      • localLocation

        protected final URI localLocation
      • wireFormat

        protected final WireFormat wireFormat
      • connectionTimeout

        protected int connectionTimeout
      • soTimeout

        protected int soTimeout
      • socketBufferSize

        protected int socketBufferSize
      • ioBufferSize

        protected int ioBufferSize
      • closeAsync

        protected boolean closeAsync
      • socket

        protected Socket socket
      • trafficClass

        protected int trafficClass
        The Traffic Class to be set on the socket.
      • diffServChosen

        protected boolean diffServChosen
        Prevents setting both the Differentiated Services and Type of Service transport options at the same time, since they share the same spot in the TCP/IP packet headers.
      • typeOfServiceChosen

        protected boolean typeOfServiceChosen
      • trace

        protected boolean trace
        trace=true -> the Transport stack where this TcpTransport object will be, will have a TransportLogger layer trace=false -> the Transport stack where this TcpTransport object will be, will NOT have a TransportLogger layer, and therefore will never be able to print logging messages. This parameter is most probably set in Connection or TransportConnector URIs.
      • logWriterName

        protected String logWriterName
        Name of the LogWriter implementation to use. Names are mapped to classes in the resources/META-INF/services/org/apache/activemq/transport/logwriters directory. This parameter is most probably set in Connection or TransportConnector URIs.
      • dynamicManagement

        protected boolean dynamicManagement
        Specifies if the TransportLogger will be manageable by JMX or not. Also, as long as there is at least 1 TransportLogger which is manageable, a TransportLoggerControl MBean will me created.
      • startLogging

        protected boolean startLogging
        startLogging=true -> the TransportLogger object of the Transport stack will initially write messages to the log. startLogging=false -> the TransportLogger object of the Transport stack will initially NOT write messages to the log. This parameter only has an effect if trace == true. This parameter is most probably set in Connection or TransportConnector URIs.
      • jmxPort

        protected int jmxPort
        Specifies the port that will be used by the JMX server to manage the TransportLoggers. This should only be set in an URI by a client (producer or consumer) since a broker will already create a JMX server. It is useful for people who test a broker and clients in the same machine and want to control both via JMX; a different port will be needed.
      • useLocalHost

        protected boolean useLocalHost
      • minmumWireFormatVersion

        protected int minmumWireFormatVersion
      • receiveCounter

        protected volatile int receiveCounter
    • Method Detail

      • toString

        public String toString()
        Overrides:
        toString in class Object
        Returns:
        pretty print of 'this'
      • run

        public void run()
        reads packets from a Socket
        Specified by:
        run in interface Runnable
      • getDiffServ

        public String getDiffServ()
      • getTypeOfService

        public int getTypeOfService()
      • setTypeOfService

        public void setTypeOfService​(int typeOfService)
      • isTrace

        public boolean isTrace()
      • setTrace

        public void setTrace​(boolean trace)
      • getLogWriterName

        public String getLogWriterName()
      • setLogWriterName

        public void setLogWriterName​(String logFormat)
      • isDynamicManagement

        public boolean isDynamicManagement()
      • setDynamicManagement

        public void setDynamicManagement​(boolean useJmx)
      • isStartLogging

        public boolean isStartLogging()
      • setStartLogging

        public void setStartLogging​(boolean startLogging)
      • getJmxPort

        public int getJmxPort()
      • setJmxPort

        public void setJmxPort​(int jmxPort)
      • getMinmumWireFormatVersion

        public int getMinmumWireFormatVersion()
      • setMinmumWireFormatVersion

        public void setMinmumWireFormatVersion​(int minmumWireFormatVersion)
      • isUseLocalHost

        public boolean isUseLocalHost()
      • setUseLocalHost

        public void setUseLocalHost​(boolean useLocalHost)
        Sets whether 'localhost' or the actual local host name should be used to make local connections. On some operating systems such as Macs its not possible to connect as the local host name so localhost is better.
      • getSocketBufferSize

        public int getSocketBufferSize()
      • setSocketBufferSize

        public void setSocketBufferSize​(int socketBufferSize)
        Sets the buffer size to use on the socket
      • getSoTimeout

        public int getSoTimeout()
      • setSoTimeout

        public void setSoTimeout​(int soTimeout)
        Sets the socket timeout
      • getConnectionTimeout

        public int getConnectionTimeout()
      • setConnectionTimeout

        public void setConnectionTimeout​(int connectionTimeout)
        Sets the timeout used to connect to the socket
      • getKeepAlive

        public Boolean getKeepAlive()
      • setKeepAlive

        public void setKeepAlive​(Boolean keepAlive)
        Enable/disable TCP KEEP_ALIVE mode
      • setSoLinger

        public void setSoLinger​(int soLinger)
        Enable/disable soLinger
        Parameters:
        soLinger - enabled if > -1, disabled if == -1, system default otherwise
      • getSoLinger

        public int getSoLinger()
      • getTcpNoDelay

        public Boolean getTcpNoDelay()
      • setTcpNoDelay

        public void setTcpNoDelay​(Boolean tcpNoDelay)
        Enable/disable the TCP_NODELAY option on the socket
      • getIoBufferSize

        public int getIoBufferSize()
        Returns:
        the ioBufferSize
      • setIoBufferSize

        public void setIoBufferSize​(int ioBufferSize)
        Parameters:
        ioBufferSize - the ioBufferSize to set
      • isCloseAsync

        public boolean isCloseAsync()
        Returns:
        the closeAsync
      • setCloseAsync

        public void setCloseAsync​(boolean closeAsync)
        Parameters:
        closeAsync - the closeAsync to set
      • initializeStreams

        protected void initializeStreams()
                                  throws Exception
        Throws:
        Exception
      • setSocketOptions

        public void setSocketOptions​(Map<String,​Object> socketOptions)
      • getRemoteAddress

        public String getRemoteAddress()
        Specified by:
        getRemoteAddress in interface Transport
        Returns:
        the remote address for this connection
      • getReceiveCounter

        public int getReceiveCounter()
        Description copied from interface: Transport
        Returns a counter which gets incremented as data is read from the transport. It should only be used to determine if there is progress being made in reading the next command from the transport. The value may wrap into the negative numbers.
        Specified by:
        getReceiveCounter in interface Transport
        Returns:
        a counter which gets incremented as data is read from the transport.
      • getWireFormat

        public WireFormat getWireFormat()
        Description copied from interface: Transport
        Retrieves the WireFormat instance associated with this Transport instance.
        Specified by:
        getWireFormat in interface Transport
        Returns:
        the WireFormat in use.
      • setPeerCertificates

        public void setPeerCertificates​(X509Certificate[] certificates)
        Description copied from interface: Transport
        Sets the certificates provided by the connected peer.
        Specified by:
        setPeerCertificates in interface Transport
        Parameters:
        certificates - the Certificates provided by the peer.