コード例 #1
0
ファイル: volume.go プロジェクト: read-later/bazil
// Epoch returns the current mutation epoch of the volume.
//
// Returned value is valid after the transaction.
func (v *Volume) Epoch() (clock.Epoch, error) {
	val := v.b.Get(volumeStateEpoch)
	var epoch clock.Epoch
	if err := epoch.UnmarshalBinary(val); err != nil {
		return 0, err
	}
	return epoch, nil
}
コード例 #2
0
ファイル: volume.go プロジェクト: read-later/bazil
func (v *Volume) setEpoch(epoch clock.Epoch) error {
	buf, err := epoch.MarshalBinary()
	if err != nil {
		return err
	}
	if err := v.b.Put(volumeStateEpoch, buf); err != nil {
		return err
	}
	return nil
}