Class SocketStreamer<T,​K,​V>


  • public class SocketStreamer<T,​K,​V>
    extends StreamAdapter<T,​K,​V>
    Server that receives data from TCP socket, converts it to key-value pairs using StreamTupleExtractor and streams into IgniteDataStreamer instance.

    By default server uses size-based message processing. That is every message sent over the socket is prepended with 4-byte integer header containing message size. If message delimiter is defined (see setDelimiter(byte[])) then delimiter-based message processing will be used. That is every message sent over the socket is appended with provided delimiter.

    Received messages through socket converts to Java object using standard serialization. Conversion functionality can be customized via user defined SocketMessageConverter (e.g. in order to convert messages from non Java clients).

    • Constructor Detail

      • SocketStreamer

        public SocketStreamer()
    • Method Detail

      • setAddr

        public void setAddr​(InetAddress addr)
        Sets server address.
        Parameters:
        addr - Address.
      • setPort

        public void setPort​(int port)
        Sets port number.
        Parameters:
        port - Port.
      • setThreads

        public void setThreads​(int threads)
        Sets threadds amount.
        Parameters:
        threads - Threads.
      • setDirectMode

        public void setDirectMode​(boolean directMode)
        Sets direct mode flag.
        Parameters:
        directMode - Direct mode.
      • setDelimiter

        public void setDelimiter​(byte[] delim)
        Sets message delimiter.
        Parameters:
        delim - Delimiter.
      • setConverter

        public void setConverter​(SocketMessageConverter<T> converter)
        Sets message converter.
        Parameters:
        converter - Converter.
      • start

        public void start()
        Starts streamer.
        Throws:
        IgniteException - If failed.
      • stop

        public void stop()
        Stops streamer.