Github user ilooner commented on a diff in the pull request:

    
https://github.com/apache/incubator-apex-malhar/pull/145#discussion_r56754934
  
    --- Diff: 
library/src/main/java/com/datatorrent/lib/state/TimeSlicedBucketedState.java ---
    @@ -0,0 +1,98 @@
    +/**
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *   http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing,
    + * software distributed under the License is distributed on an
    + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    + * KIND, either express or implied.  See the License for the
    + * specific language governing permissions and limitations
    + * under the License.
    + */
    +package com.datatorrent.lib.state;
    +
    +import java.util.concurrent.Future;
    +
    +import com.datatorrent.netlet.util.Slice;
    +
    +/**
    + * A type of bucketed state where a bucket's data is further divided into 
time buckets. This requires
    + * time per key to figure out which time bucket a particular key belongs 
to.
    + * <p/>
    + * The time value eases purging of aged key/value pair.
    + */
    +public interface TimeSlicedBucketedState
    +{
    +  /**
    +   * Sets the value of a key in the bucket identified by bucketId. Time is 
used to derive which time bucket (within
    +   * the main bucket) a key belongs to.
    +   *
    +   * @param bucketId identifier of the bucket.
    +   * @param time    time associated with the key.
    +   * @param key     key
    +   * @param value   value
    +   */
    +  void put(long bucketId, long time, Slice key, Slice value);
    +
    +  /**
    +   * Returns the value of the key in the bucket identified by bucketId. 
This will search for the key in all the
    +   * time buckets.</br>
    +   *
    +   * It retrieves the value synchronously that can be expensive.<br/>
    +   * {@link #getAsync(long, Slice)} is recommended for efficient reading 
the value of a key.
    +   *
    +   *
    +   * @param bucketId identifier of the bucket
    +   * @param key key
    +   * @return value of the key if found; null if the key is not found;
    +   */
    +  Slice getSync(long bucketId, Slice key);
    +
    +
    +  /**
    +   * Returns the value of key in the bucket identified by bucketId. This 
expects the time value.
    +   * Time is be used to derive the time bucket (within the main bucket) to 
which the key belonged and only that
    --- End diff --
    
    I think there is a type. "Time is be used to derive the time bucket" should 
be "Time is used to derive the time bucket"


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to