Interface ReadOnlySessionStore<K,​AGG>

Type Parameters:
K - the key type
AGG - the aggregated value type
All Known Subinterfaces:
SessionStore<K,​AGG>

public interface ReadOnlySessionStore<K,​AGG>
A session store that only supports read operations. Implementations should be thread-safe as concurrent reads and writes are expected.
  • Method Summary

    Modifier and Type Method Description
    default KeyValueIterator<Windowed<K>,​AGG> backwardFetch​(K key)
    Retrieve all aggregated sessions for the provided key.
    default KeyValueIterator<Windowed<K>,​AGG> backwardFetch​(K keyFrom, K keyTo)
    Retrieve all aggregated sessions for the given range of keys.
    default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K key, long earliestSessionEndTime, long latestSessionStartTime)
    Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.
    default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K key, Instant earliestSessionEndTime, Instant latestSessionStartTime)
    Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.
    default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
    Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.
    default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K keyFrom, K keyTo, Instant earliestSessionEndTime, Instant latestSessionStartTime)
    Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.
    KeyValueIterator<Windowed<K>,​AGG> fetch​(K key)
    Retrieve all aggregated sessions for the provided key.
    KeyValueIterator<Windowed<K>,​AGG> fetch​(K keyFrom, K keyTo)
    Retrieve all aggregated sessions for the given range of keys.
    default AGG fetchSession​(K key, long earliestSessionEndTime, long latestSessionStartTime)
    Get the value of key from a single session.
    default AGG fetchSession​(K key, Instant earliestSessionEndTime, Instant latestSessionStartTime)
    Get the value of key from a single session.
    default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K key, long earliestSessionEndTime, long latestSessionStartTime)
    Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.
    default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K key, Instant earliestSessionEndTime, Instant latestSessionStartTime)
    Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.
    default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
    Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.
    default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K keyFrom, K keyTo, Instant earliestSessionEndTime, Instant latestSessionStartTime)
    Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.
  • Method Details

    • findSessions

      default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K key, long earliestSessionEndTime, long latestSessionStartTime)
      Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.

      This iterator must be closed after use.

      Parameters:
      key - the key to return sessions for
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration starts.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration ends.
      Returns:
      iterator of sessions with the matching key and aggregated values, from earliest to latest session time.
      Throws:
      NullPointerException - If null is used for key.
    • findSessions

      default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K key, Instant earliestSessionEndTime, Instant latestSessionStartTime)
      Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.

      This iterator must be closed after use.

      Parameters:
      key - the key to return sessions for
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration starts.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration ends.
      Returns:
      iterator of sessions with the matching key and aggregated values, from earliest to latest session time.
      Throws:
      NullPointerException - If null is used for key.
    • backwardFindSessions

      default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K key, long earliestSessionEndTime, long latestSessionStartTime)
      Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.

      This iterator must be closed after use.

      Parameters:
      key - the key to return sessions for
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration ends.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration starts.
      Returns:
      backward iterator of sessions with the matching key and aggregated values, from latest to earliest session time.
      Throws:
      NullPointerException - If null is used for key.
    • backwardFindSessions

      default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K key, Instant earliestSessionEndTime, Instant latestSessionStartTime)
      Fetch any sessions with the matching key and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.

      This iterator must be closed after use.

      Parameters:
      key - the key to return sessions for
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration ends.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration starts.
      Returns:
      backward iterator of sessions with the matching key and aggregated values, from latest to earliest session time.
      Throws:
      NullPointerException - If null is used for key.
    • findSessions

      default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
      Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.

      This iterator must be closed after use.

      Parameters:
      keyFrom - The first key that could be in the range
      keyTo - The last key that could be in the range
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration starts.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration ends.
      Returns:
      iterator of sessions with the matching keys and aggregated values, from earliest to latest session time.
      Throws:
      NullPointerException - If null is used for any key.
    • findSessions

      default KeyValueIterator<Windowed<K>,​AGG> findSessions​(K keyFrom, K keyTo, Instant earliestSessionEndTime, Instant latestSessionStartTime)
      Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from earliest to latest.

      This iterator must be closed after use.

      Parameters:
      keyFrom - The first key that could be in the range
      keyTo - The last key that could be in the range
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration starts.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration ends.
      Returns:
      iterator of sessions with the matching keys and aggregated values, from earliest to latest session time.
      Throws:
      NullPointerException - If null is used for any key.
    • backwardFindSessions

      default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K keyFrom, K keyTo, long earliestSessionEndTime, long latestSessionStartTime)
      Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.

      This iterator must be closed after use.

      Parameters:
      keyFrom - The first key that could be in the range
      keyTo - The last key that could be in the range
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration ends.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration starts.
      Returns:
      backward iterator of sessions with the matching keys and aggregated values, from latest to earliest session time.
      Throws:
      NullPointerException - If null is used for any key.
    • backwardFindSessions

      default KeyValueIterator<Windowed<K>,​AGG> backwardFindSessions​(K keyFrom, K keyTo, Instant earliestSessionEndTime, Instant latestSessionStartTime)
      Fetch any sessions in the given range of keys and the sessions end is ≥ earliestSessionEndTime and the sessions start is ≤ latestSessionStartTime iterating from latest to earliest.

      This iterator must be closed after use.

      Parameters:
      keyFrom - The first key that could be in the range
      keyTo - The last key that could be in the range
      earliestSessionEndTime - the end timestamp of the earliest session to search for, where iteration ends.
      latestSessionStartTime - the end timestamp of the latest session to search for, where iteration starts.
      Returns:
      backward iterator of sessions with the matching keys and aggregated values, from latest to earliest session time.
      Throws:
      NullPointerException - If null is used for any key.
    • fetchSession

      default AGG fetchSession​(K key, long earliestSessionEndTime, long latestSessionStartTime)
      Get the value of key from a single session.
      Parameters:
      key - the key to fetch
      earliestSessionEndTime - start timestamp of the session
      latestSessionStartTime - end timestamp of the session
      Returns:
      The value or null if no session associated with the key can be found
      Throws:
      NullPointerException - If null is used for any key.
    • fetchSession

      default AGG fetchSession​(K key, Instant earliestSessionEndTime, Instant latestSessionStartTime)
      Get the value of key from a single session.
      Parameters:
      key - the key to fetch
      earliestSessionEndTime - start timestamp of the session
      latestSessionStartTime - end timestamp of the session
      Returns:
      The value or null if no session associated with the key can be found
      Throws:
      NullPointerException - If null is used for any key.
    • fetch

      KeyValueIterator<Windowed<K>,​AGG> fetch​(K key)
      Retrieve all aggregated sessions for the provided key. This iterator must be closed after use.

      For each key, the iterator guarantees ordering of sessions, starting from the oldest/earliest available session to the newest/latest session.

      Parameters:
      key - record key to find aggregated session values for
      Returns:
      KeyValueIterator containing all sessions for the provided key, from oldest to newest session.
      Throws:
      NullPointerException - If null is used for key.
    • backwardFetch

      default KeyValueIterator<Windowed<K>,​AGG> backwardFetch​(K key)
      Retrieve all aggregated sessions for the provided key. This iterator must be closed after use.

      For each key, the iterator guarantees ordering of sessions, starting from the newest/latest available session to the oldest/earliest session.

      Parameters:
      key - record key to find aggregated session values for
      Returns:
      backward KeyValueIterator containing all sessions for the provided key, from newest to oldest session.
      Throws:
      NullPointerException - If null is used for key.
    • fetch

      KeyValueIterator<Windowed<K>,​AGG> fetch​(K keyFrom, K keyTo)
      Retrieve all aggregated sessions for the given range of keys. This iterator must be closed after use.

      For each key, the iterator guarantees ordering of sessions, starting from the oldest/earliest available session to the newest/latest session.

      Parameters:
      keyFrom - first key in the range to find aggregated session values for
      keyTo - last key in the range to find aggregated session values for
      Returns:
      KeyValueIterator containing all sessions for the provided key, from oldest to newest session.
      Throws:
      NullPointerException - If null is used for any of the keys.
    • backwardFetch

      default KeyValueIterator<Windowed<K>,​AGG> backwardFetch​(K keyFrom, K keyTo)
      Retrieve all aggregated sessions for the given range of keys. This iterator must be closed after use.

      For each key, the iterator guarantees ordering of sessions, starting from the newest/latest available session to the oldest/earliest session.

      Parameters:
      keyFrom - first key in the range to find aggregated session values for
      keyTo - last key in the range to find aggregated session values for
      Returns:
      backward KeyValueIterator containing all sessions for the provided key, from newest to oldest session.
      Throws:
      NullPointerException - If null is used for any of the keys.