|
Autopsy
4.21.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
|
Classes | |
| enum | CategoryNode |
| class | CoordinationServiceException |
| class | Lock |
Public Member Functions | |
| void | deleteNode (CategoryNode category, String nodePath) throws CoordinationServiceException, InterruptedException |
| byte[] | getNodeData (CategoryNode category, String nodePath) throws CoordinationServiceException, InterruptedException |
| List< String > | getNodeList (CategoryNode category) throws CoordinationServiceException, InterruptedException |
| void | setNodeData (CategoryNode category, String nodePath, byte[] data) throws CoordinationServiceException, InterruptedException |
| Lock | tryGetExclusiveLock (CategoryNode category, String nodePath, int timeOut, TimeUnit timeUnit) throws CoordinationServiceException, InterruptedException |
| Lock | tryGetExclusiveLock (CategoryNode category, String nodePath) throws CoordinationServiceException |
| Lock | tryGetSharedLock (CategoryNode category, String nodePath, int timeOut, TimeUnit timeUnit) throws CoordinationServiceException, InterruptedException |
| Lock | tryGetSharedLock (CategoryNode category, String nodePath) throws CoordinationServiceException |
Static Public Member Functions | |
| static synchronized CoordinationService | getInstance () throws CoordinationServiceException |
Private Member Functions | |
| CoordinationService (String rootNodeName) throws InterruptedException, IOException, KeeperException, CoordinationServiceException | |
| String | getFullyQualifiedNodePath (CategoryNode category, String nodePath) |
| String | upsertNodePath (CategoryNode category, String nodePath) throws CoordinationServiceException |
Private Attributes | |
| final Map< String, String > | categoryNodeToPath |
| final CuratorFramework | curator |
Static Private Attributes | |
| static final int | CONNECTION_TIMEOUT_MILLISECONDS = 300000 |
| static final String | DEFAULT_NAMESPACE_ROOT = "autopsy" |
| static CoordinationService | instance |
| static final int | PORT_OFFSET = 1000 |
| static final int | SESSION_TIMEOUT_MILLISECONDS = 300000 |
A coordination service for maintaining configuration information and providing distributed synchronization using a shared hierarchical namespace of nodes.
Definition at line 51 of file CoordinationService.java.
|
private |
Constructs an instance of the coordination service for a specific namespace.
| rootNodeName | The name of the root node that defines the namespace. |
| Exception | (calls Curator methods that throw Exception instead of more specific exceptions) |
Definition at line 109 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.categoryNodeToPath, org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, org.sleuthkit.autopsy.core.UserPreferences.getIndexingServerHost(), org.sleuthkit.autopsy.core.UserPreferences.getIndexingServerPort(), org.sleuthkit.autopsy.core.UserPreferences.getZkServerHost(), org.sleuthkit.autopsy.core.UserPreferences.getZkServerPort(), and org.sleuthkit.autopsy.coordinationservice.utils.CoordinationServiceUtils.isZooKeeperAccessible().
Referenced by org.sleuthkit.autopsy.coordinationservice.CoordinationService.getInstance().
| void org.sleuthkit.autopsy.coordinationservice.CoordinationService.deleteNode | ( | CategoryNode | category, |
| String | nodePath | ||
| ) | throws CoordinationServiceException, InterruptedException |
Deletes a specified node.
| category | The desired category in the namespace. |
| nodePath | The node to be deleted. |
| CoordinationServiceException | If there is an error deleting the node. |
| java.lang.InterruptedException | If a thread interrupt occurs while blocked waiting for the operation to complete. |
Definition at line 395 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.getFullyQualifiedNodePath().
Referenced by org.sleuthkit.autopsy.casemodule.Case.deleteMultiUserCase().
|
private |
Creates a node path within a given category.
| category | A category node. |
| nodePath | A node path relative to a category node path. |
Definition at line 442 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.categoryNodeToPath, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.CategoryNode.getDisplayName().
Referenced by org.sleuthkit.autopsy.coordinationservice.CoordinationService.deleteNode(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.setNodeData(), and org.sleuthkit.autopsy.coordinationservice.CoordinationService.upsertNodePath().
|
static |
Gets the coordination service for maintaining configuration information and providing distributed synchronization using a shared hierarchical namespace of nodes.
| CoordinationServiceException |
Definition at line 72 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.CoordinationService(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.DEFAULT_NAMESPACE_ROOT, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.instance.
Referenced by org.sleuthkit.autopsy.casemodule.Case.acquireCaseLock(), org.sleuthkit.autopsy.casemodule.Case.acquireCaseResourcesLock(), org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData.createCaseNodeData(), org.sleuthkit.autopsy.casemodule.Case.deleteMultiUserCase(), org.sleuthkit.autopsy.healthmonitor.HealthMonitor.getExclusiveDbLock(), org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeDataCollector.getNodeData(), org.sleuthkit.autopsy.healthmonitor.HealthMonitor.getSharedDbLock(), org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData.readCaseNodeData(), and org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData.writeCaseNodeData().
| byte [] org.sleuthkit.autopsy.coordinationservice.CoordinationService.getNodeData | ( | CategoryNode | category, |
| String | nodePath | ||
| ) | throws CoordinationServiceException, InterruptedException |
Retrieve the data associated with the specified node.
| category | The desired category in the namespace. |
| nodePath | The node to retrieve the data for. |
| CoordinationServiceException | If there is an error setting the node data. |
| InterruptedException | If interrupted while blocked during setting of node data. |
Definition at line 339 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.upsertNodePath().
Referenced by org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData.readCaseNodeData().
| List<String> org.sleuthkit.autopsy.coordinationservice.CoordinationService.getNodeList | ( | CategoryNode | category | ) | throws CoordinationServiceException, InterruptedException |
Gets a list of the child nodes of a category in the namespace.
| category | The desired category in the namespace. |
| CoordinationServiceException | If there is an error getting the node list. |
| java.lang.InterruptedException | If a thread interrupt occurs while blocked waiting for the operation to complete. |
Definition at line 421 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.categoryNodeToPath, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator.
Referenced by org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeDataCollector.getNodeData().
| void org.sleuthkit.autopsy.coordinationservice.CoordinationService.setNodeData | ( | CategoryNode | category, |
| String | nodePath, | ||
| byte[] | data | ||
| ) | throws CoordinationServiceException, InterruptedException |
Store the given data with the specified node.
| category | The desired category in the namespace. |
| nodePath | The node to associate the data with. |
| data | The data to store with the node. |
| CoordinationServiceException | If there is an error setting the node data. |
| InterruptedException | If interrupted while blocked during setting of node data. |
Definition at line 370 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.getFullyQualifiedNodePath().
Referenced by org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData.createCaseNodeData(), and org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData.writeCaseNodeData().
| Lock org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetExclusiveLock | ( | CategoryNode | category, |
| String | nodePath, | ||
| int | timeOut, | ||
| TimeUnit | timeUnit | ||
| ) | throws CoordinationServiceException, InterruptedException |
Tries to get an exclusive lock on a node path appended to a category path in the namespace managed by this coordination service. Blocks until the lock is obtained or the time out expires.
IMPORTANT: The lock needs to be released in the same thread in which it is acquired.
| category | The desired category in the namespace. |
| nodePath | The node path to use as the basis for the lock. |
| timeOut | Length of the time out. |
| timeUnit | Time unit for the time out. |
| CoordinationServiceException | If there is an error during lock acquisition. |
| InterruptedException | If interrupted while blocked during lock acquisition. |
Definition at line 203 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.upsertNodePath().
Referenced by org.sleuthkit.autopsy.casemodule.Case.acquireCaseLock(), org.sleuthkit.autopsy.casemodule.Case.acquireCaseResourcesLock(), org.sleuthkit.autopsy.casemodule.Case.deleteMultiUserCase(), and org.sleuthkit.autopsy.healthmonitor.HealthMonitor.getExclusiveDbLock().
| Lock org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetExclusiveLock | ( | CategoryNode | category, |
| String | nodePath | ||
| ) | throws CoordinationServiceException |
Tries to get an exclusive lock on a node path appended to a category path in the namespace managed by this coordination service. Returns immediately if the lock can not be acquired.
IMPORTANT: The lock needs to be released in the same thread in which it is acquired.
| category | The desired category in the namespace. |
| nodePath | The node path to use as the basis for the lock. |
| CoordinationServiceException | If there is an error during lock acquisition. |
Definition at line 239 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.upsertNodePath().
| Lock org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetSharedLock | ( | CategoryNode | category, |
| String | nodePath, | ||
| int | timeOut, | ||
| TimeUnit | timeUnit | ||
| ) | throws CoordinationServiceException, InterruptedException |
Tries to get a shared lock on a node path appended to a category path in the namespace managed by this coordination service. Blocks until the lock is obtained or the time out expires.
IMPORTANT: The lock needs to be released in the same thread in which it is acquired.
| category | The desired category in the namespace. |
| nodePath | The node path to use as the basis for the lock. |
| timeOut | Length of the time out. |
| timeUnit | Time unit for the time out. |
| CoordinationServiceException | If there is an error during lock acquisition. |
| InterruptedException | If interrupted while blocked during lock acquisition. |
Definition at line 274 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.upsertNodePath().
Referenced by org.sleuthkit.autopsy.casemodule.Case.acquireCaseLock(), and org.sleuthkit.autopsy.healthmonitor.HealthMonitor.getSharedDbLock().
| Lock org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetSharedLock | ( | CategoryNode | category, |
| String | nodePath | ||
| ) | throws CoordinationServiceException |
Tries to get a shared lock on a node path appended to a category path in the namespace managed by this coordination service. Returns immediately if the lock can not be acquired.
IMPORTANT: The lock needs to be released in the same thread in which it is acquired.
| category | The desired category in the namespace. |
| nodePath | The node path to use as the basis for the lock. |
| CoordinationServiceException | If there is an error during lock acquisition. |
Definition at line 310 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.upsertNodePath().
|
private |
Given the category and nodePath, create node if it does not already exist.
| category | The category. |
| nodePath | The node path. |
| CoordinationServiceException |
Definition at line 165 of file CoordinationService.java.
References org.sleuthkit.autopsy.coordinationservice.CoordinationService.curator, and org.sleuthkit.autopsy.coordinationservice.CoordinationService.getFullyQualifiedNodePath().
Referenced by org.sleuthkit.autopsy.coordinationservice.CoordinationService.getNodeData(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetExclusiveLock(), and org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetSharedLock().
|
private |
Definition at line 61 of file CoordinationService.java.
Referenced by org.sleuthkit.autopsy.coordinationservice.CoordinationService.CoordinationService(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.getFullyQualifiedNodePath(), and org.sleuthkit.autopsy.coordinationservice.CoordinationService.getNodeList().
|
staticprivate |
Definition at line 54 of file CoordinationService.java.
|
private |
Definition at line 59 of file CoordinationService.java.
Referenced by org.sleuthkit.autopsy.coordinationservice.CoordinationService.CoordinationService(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.deleteNode(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.getNodeData(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.getNodeList(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.setNodeData(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetExclusiveLock(), org.sleuthkit.autopsy.coordinationservice.CoordinationService.tryGetSharedLock(), and org.sleuthkit.autopsy.coordinationservice.CoordinationService.upsertNodePath().
|
staticprivate |
Definition at line 56 of file CoordinationService.java.
Referenced by org.sleuthkit.autopsy.coordinationservice.CoordinationService.getInstance().
|
staticprivate |
Definition at line 58 of file CoordinationService.java.
Referenced by org.sleuthkit.autopsy.coordinationservice.CoordinationService.getInstance().
|
staticprivate |
Definition at line 55 of file CoordinationService.java.
|
staticprivate |
Definition at line 53 of file CoordinationService.java.
Copyright © 2012-2024 Sleuth Kit Labs. Generated on: Mon Mar 17 2025
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.