{ "name": "RecoveryMgr", "comment": "", "javadoc": "", "static": false, "implements": [], "extends": "java.lang.Object", "fields": [ { "name": "SNAPSHOT1_FILE", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"snapshotA.grf\"" }, { "name": "SNAPSHOT2_FILE", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"snapshotB.grf\"" }, { "name": "SNAPSHOT1_CHANGESET_FILE", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"changeA.grf\"" }, { "name": "SNAPSHOT2_CHANGESET_FILE", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"changeB.grf\"" }, { "name": "CHANGE_SET_REQUIRED_PARM", "comment": "", "javadoc": "", "static": true, "type_long": "java.lang.String", "type_short": "String", "constant_value": "\"\"" }, { "name": "snapshotFiles", "comment": "", "javadoc": "", "static": false, "type_long": "java.io.File[]", "type_short": "java.io.File[]", "constant_value": null }, { "name": "changeFiles", "comment": "", "javadoc": "", "static": false, "type_long": "java.io.File[]", "type_short": "java.io.File[]", "constant_value": null }, { "name": "snapshotIndex", "comment": "", "javadoc": "", "static": false, "type_long": "int", "type_short": "int", "constant_value": null }, { "name": "activeFile", "comment": "", "javadoc": "", "static": false, "type_long": "db.buffers.RecoveryFile", "type_short": "RecoveryFile", "constant_value": null }, { "name": "oldIndexSet", "comment": "", "javadoc": "", "static": false, "type_long": "ghidra.util.datastruct.IntSet", "type_short": "IntSet", "constant_value": null }, { "name": "newSnapshot", "comment": "", "javadoc": "", "static": false, "type_long": "boolean", "type_short": "boolean", "constant_value": null }, { "name": "lastSnapshotTime", "comment": "", "javadoc": "", "static": false, "type_long": "long", "type_short": "long", "constant_value": null }, { "name": "recovered", "comment": "", "javadoc": "", "static": false, "type_long": "boolean", "type_short": "boolean", "constant_value": null }, { "name": "recoveryHasChangeSet", "comment": "", "javadoc": "", "static": false, "type_long": "boolean", "type_short": "boolean", "constant_value": null }, { "name": "bufferMgr", "comment": "", "javadoc": "", "static": false, "type_long": "db.buffers.BufferMgr", "type_short": "BufferMgr", "constant_value": null }, { "name": "buffersSaved", "comment": "", "javadoc": "", "static": false, "type_long": "int[]", "type_short": "int[]", "constant_value": null }, { "name": "buffersIgnored", "comment": "", "javadoc": "", "static": false, "type_long": "int[]", "type_short": "int[]", "constant_value": null }, { "name": "buffersRemoved", "comment": "", "javadoc": "", "static": false, "type_long": "int[]", "type_short": "int[]", "constant_value": null } ], "methods": [ { "name": "\u003cinit\u003e", "comment": "Constructor used to perform recovery.\n Once constructed snapshots may be performed.", "javadoc": "Constructor used to perform recovery.\n Once constructed snapshots may be performed.\n@param bufferMgr\n@param monitor", "static": false, "params": [ { "name": "bufferMgr", "type_long": "db.buffers.BufferMgr", "type_short": "BufferMgr", "comment": "" }, { "name": "monitor", "type_long": "ghidra.util.task.TaskMonitor", "type_short": "TaskMonitor", "comment": "" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" }, { "type_long": "ghidra.util.exception.CancelledException", "type_short": "CancelledException", "comment": "" } ] }, { "name": "\u003cinit\u003e", "comment": "Constructor for snapshot use only.", "javadoc": "Constructor for snapshot use only.\n@param bufferMgr", "static": false, "params": [ { "name": "bufferMgr", "type_long": "db.buffers.BufferMgr", "type_short": "BufferMgr", "comment": "" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "dispose", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "recovered", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "boolean", "type_short": "boolean", "comment": "" }, "throws": [] }, { "name": "getRecoveryChangeSetFile", "comment": "Returns the recovery change data file for reading or null if one is not available.\n The caller must dispose of the returned file before peforming generating any new\n recovery snapshots.", "javadoc": "Returns the recovery change data file for reading or null if one is not available.\n The caller must dispose of the returned file before peforming generating any new\n recovery snapshots.\n@throws IOException", "static": false, "params": [], "return": { "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "clear", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "canRecover", "comment": "", "javadoc": "", "static": true, "params": [ { "name": "bf", "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "comment": "" } ], "return": { "type_long": "boolean", "type_short": "boolean", "comment": "" }, "throws": [] }, { "name": "getRecoveryFile", "comment": "", "javadoc": "", "static": true, "params": [ { "name": "srcBf", "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "comment": "" }, { "name": "snapshotFiles", "type_long": "java.io.File[]", "type_short": "java.io.File[]", "comment": "" } ], "return": { "type_long": "db.buffers.RecoveryFile", "type_short": "RecoveryFile", "comment": "" }, "throws": [] }, { "name": "getSnapshotFiles", "comment": "", "javadoc": "", "static": true, "params": [ { "name": "bf", "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "comment": "" } ], "return": { "type_long": "java.io.File[]", "type_short": "java.io.File[]", "comment": "" }, "throws": [] }, { "name": "getChangeFiles", "comment": "", "javadoc": "", "static": true, "params": [ { "name": "bf", "type_long": "db.buffers.LocalBufferFile", "type_short": "LocalBufferFile", "comment": "" } ], "return": { "type_long": "java.io.File[]", "type_short": "java.io.File[]", "comment": "" }, "throws": [] }, { "name": "startSnapshot", "comment": "Open a recovery file for an updated snapshot", "javadoc": "Open a recovery file for an updated snapshot\n@param indexCnt the total number of allocated indexes within the corresponding source buffer file.\n@param freeIndexes a list of indexes which are currently free/empty.\n@param changeSet an optional database-backed change set which reflects changes\n made since the last version.\n@param monitor\n@throws IOException\n@throws CancelledException", "static": false, "params": [ { "name": "indexCnt", "type_long": "int", "type_short": "int", "comment": "the total number of allocated indexes within the corresponding source buffer file." }, { "name": "freeIndexes", "type_long": "int[]", "type_short": "int[]", "comment": "a list of indexes which are currently free/empty." }, { "name": "changeSet", "type_long": "db.DBChangeSet", "type_short": "DBChangeSet", "comment": "an optional database-backed change set which reflects changes\n made since the last version." }, { "name": "monitor", "type_long": "ghidra.util.task.TaskMonitor", "type_short": "TaskMonitor", "comment": "" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "ghidra.util.exception.CancelledException", "type_short": "CancelledException", "comment": "" }, { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "isSnapshotInProgress", "comment": "Returns true if snapshot is in progress", "javadoc": "Returns true if snapshot is in progress", "static": false, "params": [], "return": { "type_long": "boolean", "type_short": "boolean", "comment": "" }, "throws": [] }, { "name": "endSnapshot", "comment": "End the recovery snapshot and close the underlying file.", "javadoc": "End the recovery snapshot and close the underlying file.\n@param commit if true the snapshot is finalized and stored, otherwise\n the snapshot is deleted.", "static": false, "params": [ { "name": "commit", "type_long": "boolean", "type_short": "boolean", "comment": "if true the snapshot is finalized and stored, otherwise\n the snapshot is deleted." } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] }, { "name": "putBuffer", "comment": "Write a modified buffer corresponding to the specified BufferNode\n to the current open snapshot file. The following BufferNode fields\n are utilized which should not be modified concurrent with this\n method invocation: \u0027id\u0027 and \u0027snapshotTaken\u0027.", "javadoc": "Write a modified buffer corresponding to the specified BufferNode\n to the current open snapshot file. The following BufferNode fields\n are utilized which should not be modified concurrent with this\n method invocation: \u0027id\u0027 and \u0027snapshotTaken\u0027.\n@param buf\n@param node\n@throws IOException", "static": false, "params": [ { "name": "buffer", "type_long": "db.buffers.DataBuffer", "type_short": "DataBuffer", "comment": "" }, { "name": "node", "type_long": "db.buffers.BufferNode", "type_short": "BufferNode", "comment": "" } ], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [ { "type_long": "java.io.IOException", "type_short": "IOException", "comment": "" } ] }, { "name": "printStats", "comment": "", "javadoc": "", "static": false, "params": [], "return": { "type_long": "void", "type_short": "void", "comment": "" }, "throws": [] } ] }