zoukankan      html  css  js  c++  java
  • compact_op.go


    package clientv3

    import (
        pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
    )

    // CompactOp represents a compact operation.
    type CompactOp struct {
        revision int64
        physical bool
    }

    // CompactOption configures compact operation.
    type CompactOption func(*CompactOp)

    func (op *CompactOp) applyCompactOpts(opts []CompactOption) {
        for _, opt := range opts {
            opt(op)
        }
    }

    // OpCompact wraps slice CompactOption to create a CompactOp.
    func OpCompact(rev int64, opts ...CompactOption) CompactOp {
        ret := CompactOp{revision: rev}
        ret.applyCompactOpts(opts)
        return ret
    }

    func (op CompactOp) toRequest() *pb.CompactionRequest {
        return &pb.CompactionRequest{Revision: op.revision, Physical: op.physical}
    }

    // WithCompactPhysical makes compact RPC call wait until
    // the compaction is physically applied to the local database
    // such that compacted entries are totally removed from the
    // backend database.
    func WithCompactPhysical() CompactOption {
        return func(op *CompactOp) { op.physical = true }
    }

  • 相关阅读:
    广度遍历有向图
    坚持的力量 第二十一篇
    坚持的力量 第二十二篇
    搜索引擎首页
    安装ubuntu
    最小生成树之Kruskal算法
    最小生成树之PRIM算法
    文件同步软件
    [恢]hdu 2151
    [恢]hdu 1396
  • 原文地址:https://www.cnblogs.com/zhangboyu/p/7452667.html
Copyright © 2011-2022 走看看