public abstract class AbstractIDAuthority extends Object implements IDAuthority
IDAuthority
implementations.
Handles common aspects such as maintaining the IDBlockSizer
and shared configuration optionsModifier and Type | Field and Description |
---|---|
protected static long |
BASE_ID |
protected Duration |
idApplicationWaitMS |
protected String |
metricsPrefix |
protected String |
uid |
protected byte[] |
uidBytes |
Constructor and Description |
---|
AbstractIDAuthority(Configuration config) |
Modifier and Type | Method and Description |
---|---|
protected long |
getBlockSize(int idNamespace)
Returns the block size of the specified partition as determined by the configured
IDBlockSizer . |
protected long |
getIdUpperBound(int idNamespace) |
protected StaticBuffer |
getPartitionKey(int partition)
Returns a byte buffer representation for the given partition id
|
String |
getUniqueID()
Return the globally unique string used by this
IDAuthority
instance to recognize its ID allocations and distinguish its allocations
from those belonging to other IDAuthority instances. |
void |
setIDBlockSizer(IDBlockSizer sizer)
Sets the
IDBlockSizer to be used by this IDAuthority. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, getIDBlock, getLocalIDPartition, supportsInterruption
protected static final long BASE_ID
protected final Duration idApplicationWaitMS
protected final String uid
protected final byte[] uidBytes
protected final String metricsPrefix
public AbstractIDAuthority(Configuration config)
public void setIDBlockSizer(IDBlockSizer sizer)
IDAuthority
IDBlockSizer
to be used by this IDAuthority. The IDBlockSizer specifies the block size for
each partition guaranteeing that the same partition will always be assigned the same block size.
The IDBlockSizer cannot be changed for an IDAuthority that has already been used (i.e. after invoking IDAuthority.getIDBlock(int, int, Duration)
.
setIDBlockSizer
in interface IDAuthority
sizer
- The IDBlockSizer to be used by this IDAuthoritypublic String getUniqueID()
IDAuthority
IDAuthority
instance to recognize its ID allocations and distinguish its allocations
from those belonging to other IDAuthority
instances.
This should normally be the value of
GraphDatabaseConfiguration.UNIQUE_INSTANCE_ID
, though that's not
strictly technically necessary.getUniqueID
in interface IDAuthority
protected StaticBuffer getPartitionKey(int partition)
partition
- protected long getBlockSize(int idNamespace)
IDBlockSizer
.idNamespace
- protected long getIdUpperBound(int idNamespace)
Copyright © 2012–2024. All rights reserved.