Class MessagePack

    • Method Detail

      • newDefaultPacker

        public static MessagePacker newDefaultPacker​(java.io.OutputStream out)
        Creates a packer that serializes objects into the specified output stream.

        Note that you don't have to wrap OutputStream in BufferedOutputStream because MessagePacker has buffering internally.

        This method is equivalent to DEFAULT_PACKER_CONFIG.newPacker(out).

        Parameters:
        out - The output stream that receives sequence of bytes
        Returns:
        A new MessagePacker instance
      • newDefaultPacker

        public static MessagePacker newDefaultPacker​(java.nio.channels.WritableByteChannel channel)
        Creates a packer that serializes objects into the specified writable channel.

        This method is equivalent to DEFAULT_PACKER_CONFIG.newPacker(channel).

        Parameters:
        channel - The output channel that receives sequence of bytes
        Returns:
        A new MessagePacker instance
      • newDefaultBufferPacker

        public static MessageBufferPacker newDefaultBufferPacker()
        Creates a packer that serializes objects into byte arrays.

        This method provides an optimized implementation of newDefaultBufferPacker(new ByteArrayOutputStream()). This method is equivalent to DEFAULT_PACKER_CONFIG.newBufferPacker().

        Returns:
        A new MessageBufferPacker instance
      • newDefaultUnpacker

        public static MessageUnpacker newDefaultUnpacker​(java.io.InputStream in)
        Creates an unpacker that deserializes objects from a specified input stream.

        Note that you don't have to wrap InputStream in BufferedInputStream because MessageUnpacker has buffering internally.

        This method is equivalent to DEFAULT_UNPACKER_CONFIG.newDefaultUnpacker(in).

        Parameters:
        in - The input stream that provides sequence of bytes
        Returns:
        A new MessageUnpacker instance
      • newDefaultUnpacker

        public static MessageUnpacker newDefaultUnpacker​(java.nio.channels.ReadableByteChannel channel)
        Creates an unpacker that deserializes objects from a specified readable channel.

        This method is equivalent to DEFAULT_UNPACKER_CONFIG.newDefaultUnpacker(in).

        Parameters:
        channel - The input channel that provides sequence of bytes
        Returns:
        A new MessageUnpacker instance
      • newDefaultUnpacker

        public static MessageUnpacker newDefaultUnpacker​(byte[] contents)
        Creates an unpacker that deserializes objects from a specified byte array.

        This method provides an optimized implementation of newDefaultUnpacker(new ByteArrayInputStream(contents)).

        This method is equivalent to DEFAULT_UNPACKER_CONFIG.newDefaultUnpacker(contents).

        Parameters:
        contents - The byte array that contains packed objects in MessagePack format
        Returns:
        A new MessageUnpacker instance that will never throw IOException
      • newDefaultUnpacker

        public static MessageUnpacker newDefaultUnpacker​(byte[] contents,
                                                         int offset,
                                                         int length)
        Creates an unpacker that deserializes objects from subarray of a specified byte array.

        This method provides an optimized implementation of newDefaultUnpacker(new ByteArrayInputStream(contents, offset, length)).

        This method is equivalent to DEFAULT_UNPACKER_CONFIG.newDefaultUnpacker(contents).

        Parameters:
        contents - The byte array that contains packed objects
        offset - The index of the first byte
        length - The number of bytes
        Returns:
        A new MessageUnpacker instance that will never throw IOException
      • newDefaultUnpacker

        public static MessageUnpacker newDefaultUnpacker​(java.nio.ByteBuffer contents)
        Creates an unpacker that deserializes objects from a specified ByteBuffer.

        Note that the returned unpacker reads data from the current position of the ByteBuffer until its limit. However, its position does not change when unpacker reads data. You may use MessageUnpacker.getTotalReadBytes() to get actual amount of bytes used in ByteBuffer.

        This method supports both non-direct buffer and direct buffer.

        Parameters:
        contents - The byte buffer that contains packed objects
        Returns:
        A new MessageUnpacker instance that will never throw IOException