Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Add a new headers length and value (byte[]) to the core message format.
  2. Create a Header class Interface and implementing class
    1. Code Block
      public interface Header
      {
         String key();
      
         
    2. Add a String key field to Header class

    3. Add a
      byte[]
      value field to Header class
       value();
      }
      
      
      
  3. Create a Headers Interface and implementing class 
    1. Add a headers (Header[]) field to Headers class

    2. Code Block
      public interface Headers extends Iterable<Header>
      {
         boolean add(String key, byte[] value);
      
         
      Add accessor methods on the Headers class - void add(Header) and a
      Collection<byte[]> get(String
      )implement Iterable<Header>
       key);
      
         Set<String> keys();
      }
      
      
  4. Add a headers field to ProducerRecord and ConsumerRecord. 
  5. Add accessor methods on the Producer/ConsumerRecord Headers getHeaders()
    1. Add ProduceRequest/ProduceResponse V4 which uses the new message format.
  6. Add FetchRequest/FetchResponse V4 which uses the new message format.
  7. The serialisation of the [String, byte[]] header array will on the wire using a strict format
  8. Each headers value will be custom serialisable by the interceptors/plugins that use the header.

...