Class DirectMessageWriter

    • Constructor Detail

      • DirectMessageWriter

        public DirectMessageWriter()
    • Method Detail

      • setBuffer

        public void setBuffer​(ByteBuffer buf)
        Sets but buffer to write to.
        Specified by:
        setBuffer in interface MessageWriter
        Parameters:
        buf - Byte buffer.
      • setCurrentWriteClass

        public void setCurrentWriteClass​(Class<? extends Message> msgCls)
        Sets type of message currently written.
        Specified by:
        setCurrentWriteClass in interface MessageWriter
        Parameters:
        msgCls - Message type.
      • writeHeader

        public boolean writeHeader​(short type,
                                   byte fieldCnt)
        Writes message header.
        Specified by:
        writeHeader in interface MessageWriter
        Parameters:
        type - Message type.
        fieldCnt - Fields count.
        Returns:
        true if successfully. Otherwise returns false.
      • writeByte

        public boolean writeByte​(String name,
                                 byte val)
        Writes byte value.
        Specified by:
        writeByte in interface MessageWriter
        Parameters:
        name - Field name.
        val - byte value.
        Returns:
        Whether value was fully written.
      • writeShort

        public boolean writeShort​(String name,
                                  short val)
        Writes short value.
        Specified by:
        writeShort in interface MessageWriter
        Parameters:
        name - Field name.
        val - short value.
        Returns:
        Whether value was fully written.
      • writeInt

        public boolean writeInt​(String name,
                                int val)
        Writes int value.
        Specified by:
        writeInt in interface MessageWriter
        Parameters:
        name - Field name.
        val - int value.
        Returns:
        Whether value was fully written.
      • writeLong

        public boolean writeLong​(String name,
                                 long val)
        Writes long value.
        Specified by:
        writeLong in interface MessageWriter
        Parameters:
        name - Field name.
        val - long value.
        Returns:
        Whether value was fully written.
      • writeFloat

        public boolean writeFloat​(String name,
                                  float val)
        Writes float value.
        Specified by:
        writeFloat in interface MessageWriter
        Parameters:
        name - Field name.
        val - float value.
        Returns:
        Whether value was fully written.
      • writeDouble

        public boolean writeDouble​(String name,
                                   double val)
        Writes double value.
        Specified by:
        writeDouble in interface MessageWriter
        Parameters:
        name - Field name.
        val - double value.
        Returns:
        Whether value was fully written.
      • writeChar

        public boolean writeChar​(String name,
                                 char val)
        Writes char value.
        Specified by:
        writeChar in interface MessageWriter
        Parameters:
        name - Field name.
        val - char value.
        Returns:
        Whether value was fully written.
      • writeBoolean

        public boolean writeBoolean​(String name,
                                    boolean val)
        Writes boolean value.
        Specified by:
        writeBoolean in interface MessageWriter
        Parameters:
        name - Field name.
        val - boolean value.
        Returns:
        Whether value was fully written.
      • writeByteArray

        public boolean writeByteArray​(String name,
                                      @Nullable
                                      @org.jetbrains.annotations.Nullable byte[] val)
        Writes byte array.
        Specified by:
        writeByteArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - byte array.
        Returns:
        Whether array was fully written.
      • writeByteArray

        public boolean writeByteArray​(String name,
                                      byte[] val,
                                      long off,
                                      int len)
        Writes byte array.
        Specified by:
        writeByteArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - byte array.
        off - Offset.
        len - Length.
        Returns:
        Whether array was fully written.
      • writeShortArray

        public boolean writeShortArray​(String name,
                                       @Nullable
                                       @org.jetbrains.annotations.Nullable short[] val)
        Writes short array.
        Specified by:
        writeShortArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - short array.
        Returns:
        Whether array was fully written.
      • writeIntArray

        public boolean writeIntArray​(String name,
                                     @Nullable
                                     @org.jetbrains.annotations.Nullable int[] val)
        Writes int array.
        Specified by:
        writeIntArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - int array.
        Returns:
        Whether array was fully written.
      • writeLongArray

        public boolean writeLongArray​(String name,
                                      @Nullable
                                      @org.jetbrains.annotations.Nullable long[] val)
        Writes long array.
        Specified by:
        writeLongArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - long array.
        Returns:
        Whether array was fully written.
      • writeLongArray

        public boolean writeLongArray​(String name,
                                      long[] val,
                                      int len)
        Writes long array.
        Specified by:
        writeLongArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - long array.
        len - Length.
        Returns:
        Whether array was fully written.
      • writeFloatArray

        public boolean writeFloatArray​(String name,
                                       @Nullable
                                       @org.jetbrains.annotations.Nullable float[] val)
        Writes float array.
        Specified by:
        writeFloatArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - float array.
        Returns:
        Whether array was fully written.
      • writeDoubleArray

        public boolean writeDoubleArray​(String name,
                                        @Nullable
                                        @org.jetbrains.annotations.Nullable double[] val)
        Writes double array.
        Specified by:
        writeDoubleArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - double array.
        Returns:
        Whether array was fully written.
      • writeCharArray

        public boolean writeCharArray​(String name,
                                      @Nullable
                                      @org.jetbrains.annotations.Nullable char[] val)
        Writes char array.
        Specified by:
        writeCharArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - char array.
        Returns:
        Whether array was fully written.
      • writeBooleanArray

        public boolean writeBooleanArray​(String name,
                                         @Nullable
                                         @org.jetbrains.annotations.Nullable boolean[] val)
        Writes boolean array.
        Specified by:
        writeBooleanArray in interface MessageWriter
        Parameters:
        name - Field name.
        val - boolean array.
        Returns:
        Whether array was fully written.
      • writeUuid

        public boolean writeUuid​(String name,
                                 UUID val)
        Writes UUID.
        Specified by:
        writeUuid in interface MessageWriter
        Parameters:
        name - Field name.
        val - UUID.
        Returns:
        Whether value was fully written.
      • writeMessage

        public boolean writeMessage​(String name,
                                    @Nullable
                                    @Nullable Message msg)
        Writes nested message.
        Specified by:
        writeMessage in interface MessageWriter
        Parameters:
        name - Field name.
        msg - Message.
        Returns:
        Whether value was fully written.
      • writeObjectArray

        public <T> boolean writeObjectArray​(String name,
                                            T[] arr,
                                            MessageCollectionItemType itemType)
        Writes array of objects.
        Specified by:
        writeObjectArray in interface MessageWriter
        Type Parameters:
        T - Type of the objects that array contains.
        Parameters:
        name - Field name.
        arr - Array of objects.
        itemType - Array component type.
        Returns:
        Whether array was fully written.
      • writeCollection

        public <T> boolean writeCollection​(String name,
                                           Collection<T> col,
                                           MessageCollectionItemType itemType)
        Writes collection.
        Specified by:
        writeCollection in interface MessageWriter
        Type Parameters:
        T - Type of the objects that collection contains.
        Parameters:
        name - Field name.
        col - Collection.
        itemType - Collection item type.
        Returns:
        Whether value was fully written.
      • writeMap

        public <K,​V> boolean writeMap​(String name,
                                            Map<K,​V> map,
                                            MessageCollectionItemType keyType,
                                            MessageCollectionItemType valType)
        Writes map.
        Specified by:
        writeMap in interface MessageWriter
        Type Parameters:
        K - Initial key types of the map to write.
        V - Initial value types of the map to write.
        Parameters:
        name - Field name.
        map - Map.
        keyType - Map key type.
        valType - Map value type.
        Returns:
        Whether value was fully written.
      • isHeaderWritten

        public boolean isHeaderWritten()
        Specified by:
        isHeaderWritten in interface MessageWriter
        Returns:
        Whether header of current message is already written.
      • onHeaderWritten

        public void onHeaderWritten()
        Callback called when header of the message is written.
        Specified by:
        onHeaderWritten in interface MessageWriter
      • state

        public int state()
        Gets current message state.
        Specified by:
        state in interface MessageWriter
        Returns:
        State.
      • beforeInnerMessageWrite

        public void beforeInnerMessageWrite()
        Callback called before inner message is written.
        Specified by:
        beforeInnerMessageWrite in interface MessageWriter
      • afterInnerMessageWrite

        public void afterInnerMessageWrite​(boolean finished)
        Callback called after inner message is written.
        Specified by:
        afterInnerMessageWrite in interface MessageWriter
        Parameters:
        finished - Whether message was fully written.
      • reset

        public void reset()
        Resets this writer.
        Specified by:
        reset in interface MessageWriter