/
githubmirror
/
etcd
Обзор
Документация
Войти
/
githubmirror
/
etcd
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
server/etcdserver/api/v2store/event.go
71 строка
2 KB
Piotr Tabor
server: Move server files to 'server' directory.
26 окт 2020, 14:57
26 окт 2020, 14:57
4a5e9d1
Код
Авторство
О чём код?
// Copyright 2015 The etcd Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package v2store const ( Get = "get" Create = "create" Set = "set" Update = "update" Delete = "delete" CompareAndSwap = "compareAndSwap" CompareAndDelete = "compareAndDelete" Expire = "expire" ) type Event struct { Action string `json:"action"` Node *NodeExtern `json:"node,omitempty"` PrevNode *NodeExtern `json:"prevNode,omitempty"` EtcdIndex uint64 `json:"-"` Refresh bool `json:"refresh,omitempty"` } func newEvent(action string, key string, modifiedIndex, createdIndex uint64) *Event { n := &NodeExtern{ Key: key, ModifiedIndex: modifiedIndex, CreatedIndex: createdIndex, } return &Event{ Action: action, Node: n, } } func (e *Event) IsCreated() bool { if e.Action == Create { return true } return e.Action == Set && e.PrevNode == nil } func (e *Event) Index() uint64 { return e.Node.ModifiedIndex } func (e *Event) Clone() *Event { return &Event{ Action: e.Action, EtcdIndex: e.EtcdIndex, Node: e.Node.Clone(), PrevNode: e.PrevNode.Clone(), } } func (e *Event) SetRefresh() { e.Refresh = true }