type protocol … type PortMapping … type Data … type CheckpointData … // MarshalCheckpoint tries to marshal the CheckpointData into JSON data. func (cp *CheckpointData) MarshalCheckpoint() ([]byte, error) { … } // UnmarshalCheckpoint tries to unmarshal the passed JSON data into CheckpointData. func (cp *CheckpointData) UnmarshalCheckpoint(blob []byte) error { … } // VerifyChecksum verifies that CheckpointData's checksum is same as the checksum calculated by its data. func (cp *CheckpointData) VerifyChecksum() error { … }