All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yahoo.sketches.tuple.SummaryDeserializer Maven / Gradle / Ivy

There is a newer version: 0.6.0
Show newest version
package com.yahoo.sketches.tuple;

import com.yahoo.memory.Memory;

/**
 * Interface for deserializing user-defined Summary
 * @param  type of Summary
 */
public interface SummaryDeserializer {

  /**
   * This is to create an instance of a Summary given a serialized representation.
   * The user may assume that the start of the given Memory is the correct place to start
   * deserializing. However, the user must be able to determine the number of bytes required to
   * deserialize the summary as the capacity of the given Memory may
   * include multiple such summaries and may be much larger than required for a single summary.
   * @param mem Memory object with serialized representation of a Summary
   * @return DeserializedResult object, which contains a Summary object and number of bytes read 
   * from the Memory
   */
  public DeserializeResult heapifySummary(Memory mem);

}