/*
 * Author: 
 * Inception Date: 
 *
 * This software is copyrighted by 		and the Regents of
 * the University of California.  The following terms apply to all
 * files associated with the software unless explicitly disclaimed in
 * individual files.
 * 
 * The authors hereby grant permission to use this software without
 * fee or royalty for any non-commercial purpose.  The authors also
 * grant permission to redistribute this software, provided this
 * copyright and a copy of this license (for reference) are retained
 * in all distributed copies.
 *
 * For commercial use of this software, contact the authors.
 * 
 * IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
 * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
 * ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
 * DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
 * IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
 * NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
 * MODIFICATIONS.
 */

package ninja2.core.sn_btree;

/**
 * The TableEngineIF interface defines the initial events passed into
 * an asynchronous btree table FSM that trigger activity starting.
 * Multiple implementations of TableEngineIF's may implement different
 * btree table strategies, such as Bayer & Schkolnick, or Leyman & Yao. 
 * 
 * @author 
 */

import ninja2.core.sn_btree.lockmgr.*;
import ninja2.core.sn_btree.bufcache.*;

public interface TableEngineIF {

  public void get(SN_BtreeReadRequest rr);
  public void put(long key, int[] bytes, int request_id);
  public void remove(long key, int[] bytes, int request_id);
  public void sync();
  public void close();
  public void addLockGrant(LockGrant lg);
  public void addBufCacheElement(BufCacheElement el);

}

