Specializing a Checkpoint Kind
Any attempt to access a checkpoint of a kind which is not registered will simply fail. Developers need to specialize the checkpoint::CheckpointKind to implement recovery and migration operation.
interface CheckpointKind : checkpoint::CheckpointKind
{
};
entity CheckpointKindImpl
{`
[ virtual ]
void migrate(
in string i_key,
in string i_productVersion,
in string i_applicationVersion,
in string i_originalBuffer,
out string o_modifiedBuffer)
raises (checkpoint::OperationFailed);
[ virtual ]
void recover(
in string i_key,
in string i_buffer)
raises (checkpoint::OperationFailed);
`};
expose entity CheckpointKindImpl with interface CheckpointKind;
action ::pkg::CheckpointKindImpl::recover
{`
// Recover from the checkpoint buffer
//
`};
action ::pkg::CheckpointKindImpl::migrate
{`
// Migrate the checkpoint buffer
//
`};
Copyright © Cloud Software Group, Inc. All rights reserved.
