Class PqStoragePhtImpl
java.lang.Object
com.illumon.iris.controller.pqstorage.PqStoragePhtImpl
- All Implemented Interfaces:
PqStorage
public class PqStoragePhtImpl extends Object implements PqStorage
Implementation of
PqStorage
which uses PersistentHashtable
for its underlying storage.-
Constructor Summary
Constructors Constructor Description PqStoragePhtImpl()
-
Method Summary
Modifier and Type Method Description boolean
addPersistentQueryConfiguration(PersistentQueryConfiguration config)
Add the specified persistent query configuration.void
commitCheckPoint()
Commit a checkpoint.boolean
deletePersistentQueryConfiguration(PersistentQueryConfiguration config)
Delete the specified persistent query configuration.void
disconnect(boolean forceCheckpoint)
Disconnect from the storage mechanism.PersistentQueryConfiguration
getPersistentQueryConfiguration(long serial)
Return thePersistentQueryConfiguration
for the specified serial.Set<Long>
keySet()
Return the Set of persisted serials.boolean
updatePersistentQueryConfiguration(PersistentQueryConfiguration config)
Update the specified persistent query configuration.Collection<PersistentQueryConfiguration>
values()
Return a Collection containing all of the persistedPersistentQueryConfiguration
instances.
-
Constructor Details
-
PqStoragePhtImpl
public PqStoragePhtImpl()
-
-
Method Details
-
getPersistentQueryConfiguration
Description copied from interface:PqStorage
Return thePersistentQueryConfiguration
for the specified serial.- Specified by:
getPersistentQueryConfiguration
in interfacePqStorage
- Parameters:
serial
- the serial for the query- Returns:
- the query, or null if it does not exist
-
addPersistentQueryConfiguration
public boolean addPersistentQueryConfiguration(@NotNull PersistentQueryConfiguration config) throws IOExceptionDescription copied from interface:PqStorage
Add the specified persistent query configuration. If the configuration already exists, it will not be updated.- Specified by:
addPersistentQueryConfiguration
in interfacePqStorage
- Parameters:
config
- the configuration to add- Returns:
- true if the configuration was added, false if it already existed
- Throws:
IOException
- if an error occurs during the persistence operation
-
updatePersistentQueryConfiguration
public boolean updatePersistentQueryConfiguration(@NotNull PersistentQueryConfiguration config) throws IOExceptionDescription copied from interface:PqStorage
Update the specified persistent query configuration. If the configuration does not exist, it will not be created.- Specified by:
updatePersistentQueryConfiguration
in interfacePqStorage
- Parameters:
config
- the configuration to update- Returns:
- true if the (existing) configuration was updated, false if it did not exist
- Throws:
IOException
- if an error occurs during the persistence operation
-
deletePersistentQueryConfiguration
public boolean deletePersistentQueryConfiguration(@NotNull PersistentQueryConfiguration config) throws IOExceptionDescription copied from interface:PqStorage
Delete the specified persistent query configuration.- Specified by:
deletePersistentQueryConfiguration
in interfacePqStorage
- Parameters:
config
- the configuration to update- Returns:
- true if the configuration was deleted, false if it did not exist
- Throws:
IOException
- if an error occurs during the persistence operation
-
commitCheckPoint
Description copied from interface:PqStorage
Commit a checkpoint. This may be a no-op.- Specified by:
commitCheckPoint
in interfacePqStorage
- Throws:
IOException
- if an error occurs committing the checkpoint
-
disconnect
public void disconnect(boolean forceCheckpoint)Description copied from interface:PqStorage
Disconnect from the storage mechanism.- Specified by:
disconnect
in interfacePqStorage
- Parameters:
forceCheckpoint
- if true, perform a checkpoint
-
keySet
Description copied from interface:PqStorage
Return the Set of persisted serials. There are no guarantees on the type, mutability, serializability, or thread-safety of the Set returned. -
values
Description copied from interface:PqStorage
Return a Collection containing all of the persistedPersistentQueryConfiguration
instances. Updates to these PersistentQueryConfiguration instances should be persisted viaPqStorage.updatePersistentQueryConfiguration(com.illumon.iris.controller.PersistentQueryConfiguration)
. There are no guarantees on the type, mutability, serializability, or thread-safety of the Collection returned, or of the objects contained within the Collection.
-