github.com/macb/etcd@v0.3.1-0.20140227003422-a60481c6b1a0/store/v2/sync_command.go (about) 1 package v2 2 3 import ( 4 "time" 5 6 "github.com/coreos/etcd/store" 7 "github.com/coreos/etcd/third_party/github.com/coreos/raft" 8 ) 9 10 func init() { 11 raft.RegisterCommand(&SyncCommand{}) 12 } 13 14 type SyncCommand struct { 15 Time time.Time `json:"time"` 16 } 17 18 // The name of the Sync command in the log 19 func (c SyncCommand) CommandName() string { 20 return "etcd:sync" 21 } 22 23 func (c SyncCommand) Apply(context raft.Context) (interface{}, error) { 24 s, _ := context.Server().StateMachine().(store.Store) 25 s.DeleteExpiredKeys(c.Time) 26 27 return nil, nil 28 }