
io.jsync.spi.cluster.AsyncMap Maven / Gradle / Ivy
Show all versions of jsync.io Show documentation
/*
* Copyright (c) 2011-2013 The original author or authors
* ------------------------------------------------------
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/
package io.jsync.spi.cluster;
import io.jsync.AsyncResult;
import io.jsync.Handler;
/**
* An asynchronous map.
*
* The cluster implementation should ensure that any entries placed in the map from any node are available on any
* node of the cluster.
*
* @author Tim Fox
*/
public interface AsyncMap {
/**
* Get a value from the map, asynchronously.
*
* @param k The key
* @param resultHandler - this will be called some time later with the async result.
*/
void get(K k, Handler> resultHandler);
/**
* Put a value in the map, asynchronously.
*
* @param k The key
* @param v The value
* @param completionHandler - this will be called some time later to signify the value has been put
*/
void put(K k, V v, Handler> completionHandler);
/**
* Remove a value from the map, asynchronously.
*
* @param k The key
* @param completionHandler - this will be called some time later to signify the value has been removed
*/
void remove(K k, Handler> completionHandler);
}