Class SimpleTCP

    • Field Detail

      • recv_buf_size

        protected int recv_buf_size
      • send_buf_size

        protected int send_buf_size
      • buffered_input_stream_size

        protected int buffered_input_stream_size
      • buffered_output_stream_size

        protected int buffered_output_stream_size
      • srv_sock

        protected java.net.ServerSocket srv_sock
      • connections

        protected final java.util.Map<java.net.SocketAddress,​SimpleTCP.Connection> connections
      • addr_table

        protected final java.util.Map<Address,​java.net.SocketAddress> addr_table
    • Constructor Detail

      • SimpleTCP

        public SimpleTCP()
    • Method Detail

      • supportsMulticasting

        public boolean supportsMulticasting()
        Description copied from class: TP
        Whether hardware multicasting is supported
        Specified by:
        supportsMulticasting in class TP
      • printAddressTable

        public java.lang.String printAddressTable()
      • sendUnicast

        public void sendUnicast​(PhysicalAddress dest,
                                byte[] data,
                                int offset,
                                int length)
                         throws java.lang.Exception
        Description copied from class: TP
        Send a unicast to a member. Note that the destination address is a *physical*, not a logical address
        Specified by:
        sendUnicast in class TP
        Parameters:
        dest - Must be a non-null unicast address
        data - The data to be sent. This is not a copy, so don't modify it
        Throws:
        java.lang.Exception
      • getInfo

        public java.lang.String getInfo()
        Specified by:
        getInfo in class TP
      • init

        public void init()
                  throws java.lang.Exception
        Description copied from class: Protocol
        Called after a protocol has been created and before the protocol is started. Attributes are already set. Other protocols are not yet connected and events cannot yet be sent.
        Specified by:
        init in interface Lifecycle
        Overrides:
        init in class TP
        Throws:
        java.lang.Exception - Thrown if protocol cannot be initialized successfully. This will cause the ProtocolStack to fail, so the the channel constructor will throw an exception
      • start

        public void start()
                   throws java.lang.Exception
        Description copied from class: TP
        Creates the unicast and multicast sockets and starts the unicast and multicast receiver threads
        Specified by:
        start in interface Lifecycle
        Overrides:
        start in class TP
        Throws:
        java.lang.Exception - Thrown if protocol cannot be started successfully. This will cause the ProtocolStack to fail, so JChannel.connect(String) will throw an exception
      • stop

        public void stop()
        Description copied from class: Protocol
        Called on a JChannel.disconnect(); stops work (e.g. by closing multicast socket). Will be called from top to bottom.
        Specified by:
        stop in interface Lifecycle
        Overrides:
        stop in class TP
      • destroy

        public void destroy()
        Description copied from class: Protocol
        This method is called on a JChannel.close(). Does some cleanup; after the call, the VM will terminate
        Specified by:
        destroy in interface Lifecycle
        Overrides:
        destroy in class TP
      • down

        public java.lang.Object down​(Event evt)
        Description copied from class: Protocol
        An event is to be sent down the stack. A protocol may want to examine its type and perform some action on it, depending on the event's type. If the event is a message MSG, then the protocol may need to add a header to it (or do nothing at all) before sending it down the stack using down_prot.down().
        Overrides:
        down in class TP
      • down

        public java.lang.Object down​(Message msg)
        Description copied from class: TP
        A message needs to be sent to a single member or all members
        Overrides:
        down in class TP
      • _down

        protected java.lang.Object _down​(Message msg)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • sendTo

        protected void sendTo​(Address dest,
                              byte[] buffer,
                              int offset,
                              int length)
                       throws java.lang.Exception
        Overrides:
        sendTo in class TP
        Throws:
        java.lang.Exception
      • getConnection

        protected SimpleTCP.Connection getConnection​(java.net.SocketAddress dest)
                                              throws java.lang.Exception
        Throws:
        java.lang.Exception