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 }
    }

  • 相关阅读:
    WLC-Download 3-party CA to WLC
    WLC-生成CSR操作
    MSE-初始化MSE
    Nexus-产品认识
    Nexus-配置VDC
    Nexus-VDC(Virtual Device Context)
    Nexus-FEX基础配置
    Nexus-配置vPC 实验三
    Nexus-配置vPC 实验二
    Nexus-配置vPC 实验一
  • 原文地址:https://www.cnblogs.com/zhangboyu/p/7452667.html
Copyright © 2011-2022 走看看