Class HttpByteArrayCacheEntrySerializer

  • All Implemented Interfaces:
    HttpCacheEntrySerializer<byte[]>

    @Contract(threading=STATELESS)
    public class HttpByteArrayCacheEntrySerializer
    extends java.lang.Object
    implements HttpCacheEntrySerializer<byte[]>
    This class implements the HttpCacheEntrySerializer interface, which defines the contract for HTTP cache entry serialization and deserialization. It also includes a default buffer size of 8192 bytes, which can be overridden by specifying a different buffer size in the constructor.
    Since:
    5.4
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • DEFAULT_BUFFER_SIZE

        private static final int DEFAULT_BUFFER_SIZE
        The default buffer size used for I/O operations, set to 8192 bytes.
        See Also:
        Constant Field Values
      • HC_CACHE_VERSION_LINE

        static final java.lang.String HC_CACHE_VERSION_LINE
        See Also:
        Constant Field Values
      • lineParser

        private final org.apache.hc.core5.http.message.LineParser lineParser
      • lineFormatter

        private final org.apache.hc.core5.http.message.LineFormatter lineFormatter
      • bufferSize

        private final int bufferSize
    • Constructor Detail

      • HttpByteArrayCacheEntrySerializer

        public HttpByteArrayCacheEntrySerializer​(int bufferSize)
        Constructs a HttpByteArrayCacheEntrySerializer with the specified buffer size.
        Parameters:
        bufferSize - the buffer size to use for serialization and deserialization.
      • HttpByteArrayCacheEntrySerializer

        public HttpByteArrayCacheEntrySerializer()
        Constructs a new instance of HttpByteArrayCacheEntrySerializer with a default buffer size.
        See Also:
        DEFAULT_BUFFER_SIZE
    • Method Detail

      • serialize

        public byte[] serialize​(HttpCacheStorageEntry storageEntry)
                         throws ResourceIOException
        Serializes an HttpCacheStorageEntry object into a byte array using an HTTP-like format.

        The metadata is encoded into HTTP pseudo-headers for storage.

        Specified by:
        serialize in interface HttpCacheEntrySerializer<byte[]>
        Parameters:
        storageEntry - the HttpCacheStorageEntry to serialize.
        Returns:
        the byte array containing the serialized HttpCacheStorageEntry.
        Throws:
        ResourceIOException - if there is an error during serialization.
      • asStr

        private static java.lang.String asStr​(long value)
      • asStr

        private static java.lang.String asStr​(java.time.Instant instant)
      • makeByteArrayInputStream

        @Deprecated
        protected java.io.InputStream makeByteArrayInputStream​(byte[] bytes)
        Deprecated.
        Do not use.
        Returns:
        null
      • makeHttpResponseParser

        @Deprecated
        protected org.apache.hc.core5.http.impl.io.AbstractMessageParser<org.apache.hc.core5.http.ClassicHttpResponse> makeHttpResponseParser()
        Deprecated.
        Do not use.
        Returns:
        null
      • makeHttpResponseWriter

        @Deprecated
        protected org.apache.hc.core5.http.impl.io.AbstractMessageWriter<SimpleHttpResponse> makeHttpResponseWriter​(org.apache.hc.core5.http.io.SessionOutputBuffer outputBuffer)
        Deprecated.
        Do not use.
        Returns:
        null