Class AbstractStreamEncoder<E extends java.lang.Enum<E>>

  • Type Parameters:
    E - type of the message

    public abstract class AbstractStreamEncoder<E extends java.lang.Enum<E>>
    extends java.lang.Object
    The base class of stream encoder. The type of message is expressed by opcode where the opcode object is described by the generic type AbstractStreamEncoder.
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractStreamEncoder​(java.nio.channels.WritableByteChannel out)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void encode​(java.nio.charset.CharsetEncoder encoder, java.nio.ByteBuffer result, E operation, java.lang.String... messages)  
      void encode​(java.nio.charset.CharsetEncoder encoder, java.nio.ByteBuffer result, E operation, RunMode runMode, java.lang.Long testRunId, java.lang.String... messages)  
      void encodeCharset​(java.nio.ByteBuffer result)  
      void encodeHeader​(java.nio.ByteBuffer result, E operation)  
      void encodeHeader​(java.nio.ByteBuffer result, E operation, RunMode runMode, java.lang.Long testRunId)  
      void encodeInteger​(java.nio.ByteBuffer result, java.lang.Integer i)  
      void encodeString​(java.nio.charset.CharsetEncoder encoder, java.nio.ByteBuffer result, java.lang.String string)  
      protected abstract byte[] enumToByteArray​(E e)  
      int estimateBufferLength​(int opcodeLength, RunMode runMode, java.nio.charset.CharsetEncoder encoder, int integersCounter, int longsCounter, java.lang.String... strings)  
      protected abstract java.nio.charset.Charset getCharset()  
      protected abstract byte[] getEncodedCharsetName()  
      protected abstract byte[] getEncodedMagicNumber()  
      protected abstract java.nio.charset.CharsetEncoder newCharsetEncoder()  
      protected void write​(java.nio.ByteBuffer frame, boolean sendImmediately)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractStreamEncoder

        public AbstractStreamEncoder​(java.nio.channels.WritableByteChannel out)
    • Method Detail

      • getEncodedMagicNumber

        @Nonnull
        protected abstract byte[] getEncodedMagicNumber()
      • enumToByteArray

        @Nonnull
        protected abstract byte[] enumToByteArray​(E e)
      • getEncodedCharsetName

        @Nonnull
        protected abstract byte[] getEncodedCharsetName()
      • getCharset

        @Nonnull
        protected abstract java.nio.charset.Charset getCharset()
      • newCharsetEncoder

        @Nonnull
        protected abstract java.nio.charset.CharsetEncoder newCharsetEncoder()
      • write

        protected void write​(java.nio.ByteBuffer frame,
                             boolean sendImmediately)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • encodeHeader

        public void encodeHeader​(java.nio.ByteBuffer result,
                                 E operation,
                                 RunMode runMode,
                                 java.lang.Long testRunId)
      • encodeHeader

        public void encodeHeader​(java.nio.ByteBuffer result,
                                 E operation)
      • encodeCharset

        public void encodeCharset​(java.nio.ByteBuffer result)
      • encodeString

        public void encodeString​(java.nio.charset.CharsetEncoder encoder,
                                 java.nio.ByteBuffer result,
                                 java.lang.String string)
      • encodeInteger

        public void encodeInteger​(java.nio.ByteBuffer result,
                                  java.lang.Integer i)
      • encode

        public void encode​(java.nio.charset.CharsetEncoder encoder,
                           java.nio.ByteBuffer result,
                           E operation,
                           RunMode runMode,
                           java.lang.Long testRunId,
                           java.lang.String... messages)
      • encode

        public void encode​(java.nio.charset.CharsetEncoder encoder,
                           java.nio.ByteBuffer result,
                           E operation,
                           java.lang.String... messages)
      • estimateBufferLength

        public int estimateBufferLength​(int opcodeLength,
                                        RunMode runMode,
                                        java.nio.charset.CharsetEncoder encoder,
                                        int integersCounter,
                                        int longsCounter,
                                        java.lang.String... strings)