public class SimDistribStateManager extends Object implements DistribStateManager
DistribStateManager
that keeps all data locally in a static structure. Instances of this
class are identified by their id in order to simulate the deletion of ephemeral nodes when close()
is
invoked.Modifier and Type | Class and Description |
---|---|
static class |
SimDistribStateManager.Node |
Constructor and Description |
---|
SimDistribStateManager() |
SimDistribStateManager(ActionThrottle actionThrottle,
ActionError actionError) |
SimDistribStateManager(SimDistribStateManager.Node root)
Construct new state manager that uses provided root node for storing data.
|
SimDistribStateManager(SimDistribStateManager.Node root,
ActionThrottle actionThrottle,
ActionError actionError) |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clear this instance.
|
void |
close() |
void |
copyFrom(DistribStateManager other,
boolean failOnExists)
Copy all content from another DistribStateManager.
|
String |
createData(String path,
byte[] data,
org.apache.zookeeper.CreateMode mode) |
static SimDistribStateManager.Node |
createNewRootNode() |
AutoScalingConfig |
getAutoScalingConfig(org.apache.zookeeper.Watcher watcher) |
VersionedData |
getData(String path,
org.apache.zookeeper.Watcher watcher) |
SimDistribStateManager.Node |
getRoot()
Get the root node of the tree used by this instance.
|
boolean |
hasData(String path) |
List<String> |
listData(String path) |
List<String> |
listData(String path,
org.apache.zookeeper.Watcher watcher) |
void |
makePath(String path) |
void |
makePath(String path,
byte[] data,
org.apache.zookeeper.CreateMode createMode,
boolean failOnExists) |
List<org.apache.zookeeper.OpResult> |
multi(Iterable<org.apache.zookeeper.Op> ops) |
void |
removeData(String path,
int version) |
void |
setData(String path,
byte[] data,
int version) |
void |
simSetAutoScalingConfig(AutoScalingConfig cfg) |
SimDistribStateManager |
withEphemeralId(String id)
Create a copy of this instance using a specified ephemeral owner id.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAutoScalingConfig, getData, listTree, removeRecursively
isClosed
public SimDistribStateManager()
public SimDistribStateManager(SimDistribStateManager.Node root)
root
- if null then a new root node will be created.public SimDistribStateManager(ActionThrottle actionThrottle, ActionError actionError)
public SimDistribStateManager(SimDistribStateManager.Node root, ActionThrottle actionThrottle, ActionError actionError)
public static SimDistribStateManager.Node createNewRootNode()
public void copyFrom(DistribStateManager other, boolean failOnExists) throws InterruptedException, IOException, org.apache.zookeeper.KeeperException, AlreadyExistsException, BadVersionException
other
- another state manager.failOnExists
- abort copy when one or more paths already exist (the state of this manager remains unchanged).InterruptedException
IOException
org.apache.zookeeper.KeeperException
AlreadyExistsException
BadVersionException
public SimDistribStateManager withEphemeralId(String id)
id
- ephemeral owner idpublic SimDistribStateManager.Node getRoot()
public void clear()
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public boolean hasData(String path) throws IOException
hasData
in interface DistribStateManager
IOException
public List<String> listData(String path) throws NoSuchElementException, IOException
listData
in interface DistribStateManager
NoSuchElementException
IOException
public List<String> listData(String path, org.apache.zookeeper.Watcher watcher) throws NoSuchElementException, IOException
listData
in interface DistribStateManager
NoSuchElementException
IOException
public VersionedData getData(String path, org.apache.zookeeper.Watcher watcher) throws NoSuchElementException, IOException
getData
in interface DistribStateManager
NoSuchElementException
IOException
public void makePath(String path) throws IOException
makePath
in interface DistribStateManager
IOException
public void makePath(String path, byte[] data, org.apache.zookeeper.CreateMode createMode, boolean failOnExists) throws AlreadyExistsException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
makePath
in interface DistribStateManager
AlreadyExistsException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
public String createData(String path, byte[] data, org.apache.zookeeper.CreateMode mode) throws AlreadyExistsException, NoSuchElementException, IOException
createData
in interface DistribStateManager
AlreadyExistsException
NoSuchElementException
IOException
public void removeData(String path, int version) throws NoSuchElementException, NotEmptyException, BadVersionException, IOException
removeData
in interface DistribStateManager
NoSuchElementException
NotEmptyException
BadVersionException
IOException
public void setData(String path, byte[] data, int version) throws NoSuchElementException, BadVersionException, IOException
setData
in interface DistribStateManager
NoSuchElementException
BadVersionException
IOException
public List<org.apache.zookeeper.OpResult> multi(Iterable<org.apache.zookeeper.Op> ops) throws BadVersionException, NoSuchElementException, AlreadyExistsException, IOException, org.apache.zookeeper.KeeperException, InterruptedException
multi
in interface DistribStateManager
BadVersionException
NoSuchElementException
AlreadyExistsException
IOException
org.apache.zookeeper.KeeperException
InterruptedException
public AutoScalingConfig getAutoScalingConfig(org.apache.zookeeper.Watcher watcher) throws InterruptedException, IOException
getAutoScalingConfig
in interface DistribStateManager
InterruptedException
IOException
public void simSetAutoScalingConfig(AutoScalingConfig cfg) throws Exception
Exception
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.