|
|
@@ -0,0 +1,5112 @@
|
|
|
+// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
|
|
+// source: rpcpb/rpc.proto
|
|
|
+
|
|
|
+/*
|
|
|
+ Package rpcpb is a generated protocol buffer package.
|
|
|
+
|
|
|
+ It is generated from these files:
|
|
|
+ rpcpb/rpc.proto
|
|
|
+
|
|
|
+ It has these top-level messages:
|
|
|
+ Request
|
|
|
+ SnapshotInfo
|
|
|
+ Response
|
|
|
+ Member
|
|
|
+ Tester
|
|
|
+ Etcd
|
|
|
+*/
|
|
|
+package rpcpb
|
|
|
+
|
|
|
+import proto "github.com/golang/protobuf/proto"
|
|
|
+import fmt "fmt"
|
|
|
+import math "math"
|
|
|
+import _ "github.com/gogo/protobuf/gogoproto"
|
|
|
+
|
|
|
+import context "golang.org/x/net/context"
|
|
|
+import grpc "google.golang.org/grpc"
|
|
|
+
|
|
|
+import io "io"
|
|
|
+
|
|
|
+// Reference imports to suppress errors if they are not otherwise used.
|
|
|
+var _ = proto.Marshal
|
|
|
+var _ = fmt.Errorf
|
|
|
+var _ = math.Inf
|
|
|
+
|
|
|
+// This is a compile-time assertion to ensure that this generated file
|
|
|
+// is compatible with the proto package it is being compiled against.
|
|
|
+// A compilation error at this line likely means your copy of the
|
|
|
+// proto package needs to be updated.
|
|
|
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
|
|
|
+
|
|
|
+type Operation int32
|
|
|
+
|
|
|
+const (
|
|
|
+ // NOT_STARTED is the agent status before etcd first start.
|
|
|
+ Operation_NOT_STARTED Operation = 0
|
|
|
+ // INITIAL_START_ETCD is only called to start etcd, the very first time.
|
|
|
+ Operation_INITIAL_START_ETCD Operation = 10
|
|
|
+ // RESTART_ETCD is sent to restart killed etcd.
|
|
|
+ Operation_RESTART_ETCD Operation = 11
|
|
|
+ // SIGTERM_ETCD pauses etcd process while keeping data directories
|
|
|
+ // and previous etcd configurations.
|
|
|
+ Operation_SIGTERM_ETCD Operation = 20
|
|
|
+ // SIGQUIT_ETCD_AND_REMOVE_DATA kills etcd process and removes all data
|
|
|
+ // directories to simulate destroying the whole machine.
|
|
|
+ Operation_SIGQUIT_ETCD_AND_REMOVE_DATA Operation = 21
|
|
|
+ // SAVE_SNAPSHOT is sent to trigger local member to download its snapshot
|
|
|
+ // onto its local disk with the specified path from tester.
|
|
|
+ Operation_SAVE_SNAPSHOT Operation = 30
|
|
|
+ // RESTORE_RESTART_FROM_SNAPSHOT is sent to trigger local member to
|
|
|
+ // restore a cluster from existing snapshot from disk, and restart
|
|
|
+ // an etcd instance from recovered data.
|
|
|
+ Operation_RESTORE_RESTART_FROM_SNAPSHOT Operation = 31
|
|
|
+ // RESTART_FROM_SNAPSHOT is sent to trigger local member to restart
|
|
|
+ // and join an existing cluster that has been recovered from a snapshot.
|
|
|
+ // Local member joins this cluster with fresh data.
|
|
|
+ Operation_RESTART_FROM_SNAPSHOT Operation = 32
|
|
|
+ // SIGQUIT_ETCD_AND_ARCHIVE_DATA is sent when consistency check failed,
|
|
|
+ // thus need to archive etcd data directories.
|
|
|
+ Operation_SIGQUIT_ETCD_AND_ARCHIVE_DATA Operation = 40
|
|
|
+ // SIGQUIT_ETCD_AND_REMOVE_DATA_AND_STOP_AGENT destroys etcd process,
|
|
|
+ // etcd data, and agent server.
|
|
|
+ Operation_SIGQUIT_ETCD_AND_REMOVE_DATA_AND_STOP_AGENT Operation = 41
|
|
|
+ // BLACKHOLE_PEER_PORT_TX_RX drops all outgoing/incoming packets from/to
|
|
|
+ // the peer port on target member's peer port.
|
|
|
+ Operation_BLACKHOLE_PEER_PORT_TX_RX Operation = 100
|
|
|
+ // UNBLACKHOLE_PEER_PORT_TX_RX removes outgoing/incoming packet dropping.
|
|
|
+ Operation_UNBLACKHOLE_PEER_PORT_TX_RX Operation = 101
|
|
|
+ // DELAY_PEER_PORT_TX_RX delays all outgoing/incoming packets from/to
|
|
|
+ // the peer port on target member's peer port.
|
|
|
+ Operation_DELAY_PEER_PORT_TX_RX Operation = 200
|
|
|
+ // UNDELAY_PEER_PORT_TX_RX removes all outgoing/incoming delays.
|
|
|
+ Operation_UNDELAY_PEER_PORT_TX_RX Operation = 201
|
|
|
+)
|
|
|
+
|
|
|
+var Operation_name = map[int32]string{
|
|
|
+ 0: "NOT_STARTED",
|
|
|
+ 10: "INITIAL_START_ETCD",
|
|
|
+ 11: "RESTART_ETCD",
|
|
|
+ 20: "SIGTERM_ETCD",
|
|
|
+ 21: "SIGQUIT_ETCD_AND_REMOVE_DATA",
|
|
|
+ 30: "SAVE_SNAPSHOT",
|
|
|
+ 31: "RESTORE_RESTART_FROM_SNAPSHOT",
|
|
|
+ 32: "RESTART_FROM_SNAPSHOT",
|
|
|
+ 40: "SIGQUIT_ETCD_AND_ARCHIVE_DATA",
|
|
|
+ 41: "SIGQUIT_ETCD_AND_REMOVE_DATA_AND_STOP_AGENT",
|
|
|
+ 100: "BLACKHOLE_PEER_PORT_TX_RX",
|
|
|
+ 101: "UNBLACKHOLE_PEER_PORT_TX_RX",
|
|
|
+ 200: "DELAY_PEER_PORT_TX_RX",
|
|
|
+ 201: "UNDELAY_PEER_PORT_TX_RX",
|
|
|
+}
|
|
|
+var Operation_value = map[string]int32{
|
|
|
+ "NOT_STARTED": 0,
|
|
|
+ "INITIAL_START_ETCD": 10,
|
|
|
+ "RESTART_ETCD": 11,
|
|
|
+ "SIGTERM_ETCD": 20,
|
|
|
+ "SIGQUIT_ETCD_AND_REMOVE_DATA": 21,
|
|
|
+ "SAVE_SNAPSHOT": 30,
|
|
|
+ "RESTORE_RESTART_FROM_SNAPSHOT": 31,
|
|
|
+ "RESTART_FROM_SNAPSHOT": 32,
|
|
|
+ "SIGQUIT_ETCD_AND_ARCHIVE_DATA": 40,
|
|
|
+ "SIGQUIT_ETCD_AND_REMOVE_DATA_AND_STOP_AGENT": 41,
|
|
|
+ "BLACKHOLE_PEER_PORT_TX_RX": 100,
|
|
|
+ "UNBLACKHOLE_PEER_PORT_TX_RX": 101,
|
|
|
+ "DELAY_PEER_PORT_TX_RX": 200,
|
|
|
+ "UNDELAY_PEER_PORT_TX_RX": 201,
|
|
|
+}
|
|
|
+
|
|
|
+func (x Operation) String() string {
|
|
|
+ return proto.EnumName(Operation_name, int32(x))
|
|
|
+}
|
|
|
+func (Operation) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{0} }
|
|
|
+
|
|
|
+// Case defines various system faults or test case in distributed systems,
|
|
|
+// in order to verify correct behavior of etcd servers and clients.
|
|
|
+type Case int32
|
|
|
+
|
|
|
+const (
|
|
|
+ // SIGTERM_ONE_FOLLOWER stops a randomly chosen follower (non-leader)
|
|
|
+ // but does not delete its data directories on disk for next restart.
|
|
|
+ // It waits "delay-ms" before recovering this failure.
|
|
|
+ // The expected behavior is that the follower comes back online
|
|
|
+ // and rejoins the cluster, and then each member continues to process
|
|
|
+ // client requests ('Put' request that requires Raft consensus).
|
|
|
+ Case_SIGTERM_ONE_FOLLOWER Case = 0
|
|
|
+ // SIGTERM_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT stops a randomly chosen
|
|
|
+ // follower but does not delete its data directories on disk for next
|
|
|
+ // restart. And waits until most up-to-date node (leader) applies the
|
|
|
+ // snapshot count of entries since the stop operation.
|
|
|
+ // The expected behavior is that the follower comes back online and
|
|
|
+ // rejoins the cluster, and then active leader sends snapshot
|
|
|
+ // to the follower to force it to follow the leader's log.
|
|
|
+ // As always, after recovery, each member must be able to process
|
|
|
+ // client requests.
|
|
|
+ Case_SIGTERM_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT Case = 1
|
|
|
+ // SIGTERM_LEADER stops the active leader node but does not delete its
|
|
|
+ // data directories on disk for next restart. Then it waits "delay-ms"
|
|
|
+ // before recovering this failure, in order to trigger election timeouts.
|
|
|
+ // The expected behavior is that a new leader gets elected, and the
|
|
|
+ // old leader comes back online and rejoins the cluster as a follower.
|
|
|
+ // As always, after recovery, each member must be able to process
|
|
|
+ // client requests.
|
|
|
+ Case_SIGTERM_LEADER Case = 2
|
|
|
+ // SIGTERM_LEADER_UNTIL_TRIGGER_SNAPSHOT stops the active leader node
|
|
|
+ // but does not delete its data directories on disk for next restart.
|
|
|
+ // And waits until most up-to-date node ("new" leader) applies the
|
|
|
+ // snapshot count of entries since the stop operation.
|
|
|
+ // The expected behavior is that cluster elects a new leader, and the
|
|
|
+ // old leader comes back online and rejoins the cluster as a follower.
|
|
|
+ // And it receives the snapshot from the new leader to overwrite its
|
|
|
+ // store. As always, after recovery, each member must be able to
|
|
|
+ // process client requests.
|
|
|
+ Case_SIGTERM_LEADER_UNTIL_TRIGGER_SNAPSHOT Case = 3
|
|
|
+ // SIGTERM_QUORUM stops majority number of nodes to make the whole cluster
|
|
|
+ // inoperable but does not delete data directories on stopped nodes
|
|
|
+ // for next restart. And it waits "delay-ms" before recovering failure.
|
|
|
+ // The expected behavior is that nodes come back online, thus cluster
|
|
|
+ // comes back operative as well. As always, after recovery, each member
|
|
|
+ // must be able to process client requests.
|
|
|
+ Case_SIGTERM_QUORUM Case = 4
|
|
|
+ // SIGTERM_ALL stops the whole cluster but does not delete data directories
|
|
|
+ // on disk for next restart. And it waits "delay-ms" before recovering
|
|
|
+ // this failure.
|
|
|
+ // The expected behavior is that nodes come back online, thus cluster
|
|
|
+ // comes back operative as well. As always, after recovery, each member
|
|
|
+ // must be able to process client requests.
|
|
|
+ Case_SIGTERM_ALL Case = 5
|
|
|
+ // SIGQUIT_AND_REMOVE_ONE_FOLLOWER stops a randomly chosen follower
|
|
|
+ // (non-leader), deletes its data directories on disk, and removes
|
|
|
+ // this member from cluster (membership reconfiguration). On recovery,
|
|
|
+ // tester adds a new member, and this member joins the existing cluster
|
|
|
+ // with fresh data. It waits "delay-ms" before recovering this
|
|
|
+ // failure. This simulates destroying one follower machine, where operator
|
|
|
+ // needs to add a new member from a fresh machine.
|
|
|
+ // The expected behavior is that a new member joins the existing cluster,
|
|
|
+ // and then each member continues to process client requests.
|
|
|
+ Case_SIGQUIT_AND_REMOVE_ONE_FOLLOWER Case = 10
|
|
|
+ // SIGQUIT_AND_REMOVE_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT stops a randomly
|
|
|
+ // chosen follower, deletes its data directories on disk, and removes
|
|
|
+ // this member from cluster (membership reconfiguration). On recovery,
|
|
|
+ // tester adds a new member, and this member joins the existing cluster
|
|
|
+ // restart. On member remove, cluster waits until most up-to-date node
|
|
|
+ // (leader) applies the snapshot count of entries since the stop operation.
|
|
|
+ // This simulates destroying a leader machine, where operator needs to add
|
|
|
+ // a new member from a fresh machine.
|
|
|
+ // The expected behavior is that a new member joins the existing cluster,
|
|
|
+ // and receives a snapshot from the active leader. As always, after
|
|
|
+ // recovery, each member must be able to process client requests.
|
|
|
+ Case_SIGQUIT_AND_REMOVE_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT Case = 11
|
|
|
+ // SIGQUIT_AND_REMOVE_LEADER stops the active leader node, deletes its
|
|
|
+ // data directories on disk, and removes this member from cluster.
|
|
|
+ // On recovery, tester adds a new member, and this member joins the
|
|
|
+ // existing cluster with fresh data. It waits "delay-ms" before
|
|
|
+ // recovering this failure. This simulates destroying a leader machine,
|
|
|
+ // where operator needs to add a new member from a fresh machine.
|
|
|
+ // The expected behavior is that a new member joins the existing cluster,
|
|
|
+ // and then each member continues to process client requests.
|
|
|
+ Case_SIGQUIT_AND_REMOVE_LEADER Case = 12
|
|
|
+ // SIGQUIT_AND_REMOVE_LEADER_UNTIL_TRIGGER_SNAPSHOT stops the active leader,
|
|
|
+ // deletes its data directories on disk, and removes this member from
|
|
|
+ // cluster (membership reconfiguration). On recovery, tester adds a new
|
|
|
+ // member, and this member joins the existing cluster restart. On member
|
|
|
+ // remove, cluster waits until most up-to-date node (new leader) applies
|
|
|
+ // the snapshot count of entries since the stop operation. This simulates
|
|
|
+ // destroying a leader machine, where operator needs to add a new member
|
|
|
+ // from a fresh machine.
|
|
|
+ // The expected behavior is that on member remove, cluster elects a new
|
|
|
+ // leader, and a new member joins the existing cluster and receives a
|
|
|
+ // snapshot from the newly elected leader. As always, after recovery, each
|
|
|
+ // member must be able to process client requests.
|
|
|
+ Case_SIGQUIT_AND_REMOVE_LEADER_UNTIL_TRIGGER_SNAPSHOT Case = 13
|
|
|
+ // SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_LEADER_SNAPSHOT_FROM_SCRATCH first
|
|
|
+ // stops majority number of nodes, deletes data directories on those quorum
|
|
|
+ // nodes, to make the whole cluster inoperable. Now that quorum and their
|
|
|
+ // data are totally destroyed, cluster cannot even remove unavailable nodes
|
|
|
+ // (e.g. 2 out of 3 are lost, so no leader can be elected).
|
|
|
+ // Let's assume 3-node cluster of node A, B, and C. One day, node A and B
|
|
|
+ // are destroyed and all their data are gone. The only viable solution is
|
|
|
+ // to recover from C's latest snapshot.
|
|
|
+ //
|
|
|
+ // To simulate:
|
|
|
+ // 1. Assume node C is the current leader with most up-to-date data.
|
|
|
+ // 2. Download snapshot from node C, before destroying node A and B.
|
|
|
+ // 3. Destroy node A and B, and make the whole cluster inoperable.
|
|
|
+ // 4. Now node C cannot operate either.
|
|
|
+ // 5. SIGTERM node C and remove its data directories.
|
|
|
+ // 6. Restore a new seed member from node C's latest snapshot file.
|
|
|
+ // 7. Add another member to establish 2-node cluster.
|
|
|
+ // 8. Add another member to establish 3-node cluster.
|
|
|
+ // 9. Add more if any.
|
|
|
+ //
|
|
|
+ // The expected behavior is that etcd successfully recovers from such
|
|
|
+ // disastrous situation as only 1-node survives out of 3-node cluster,
|
|
|
+ // new members joins the existing cluster, and previous data from snapshot
|
|
|
+ // are still preserved after recovery process. As always, after recovery,
|
|
|
+ // each member must be able to process client requests.
|
|
|
+ Case_SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_LEADER_SNAPSHOT_FROM_SCRATCH Case = 14
|
|
|
+ // BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER drops all outgoing/incoming
|
|
|
+ // packets from/to the peer port on a randomly chosen follower
|
|
|
+ // (non-leader), and waits for "delay-ms" until recovery.
|
|
|
+ // The expected behavior is that once dropping operation is undone,
|
|
|
+ // each member must be able to process client requests.
|
|
|
+ Case_BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER Case = 100
|
|
|
+ // BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT drops
|
|
|
+ // all outgoing/incoming packets from/to the peer port on a randomly
|
|
|
+ // chosen follower (non-leader), and waits for most up-to-date node
|
|
|
+ // (leader) applies the snapshot count of entries since the blackhole
|
|
|
+ // operation.
|
|
|
+ // The expected behavior is that once packet drop operation is undone,
|
|
|
+ // the slow follower tries to catch up, possibly receiving the snapshot
|
|
|
+ // from the active leader. As always, after recovery, each member must
|
|
|
+ // be able to process client requests.
|
|
|
+ Case_BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT Case = 101
|
|
|
+ // BLACKHOLE_PEER_PORT_TX_RX_LEADER drops all outgoing/incoming packets
|
|
|
+ // from/to the peer port on the active leader (isolated), and waits for
|
|
|
+ // "delay-ms" until recovery, in order to trigger election timeout.
|
|
|
+ // The expected behavior is that after election timeout, a new leader gets
|
|
|
+ // elected, and once dropping operation is undone, the old leader comes
|
|
|
+ // back and rejoins the cluster as a follower. As always, after recovery,
|
|
|
+ // each member must be able to process client requests.
|
|
|
+ Case_BLACKHOLE_PEER_PORT_TX_RX_LEADER Case = 102
|
|
|
+ // BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT drops all
|
|
|
+ // outgoing/incoming packets from/to the peer port on the active leader,
|
|
|
+ // and waits for most up-to-date node (leader) applies the snapshot
|
|
|
+ // count of entries since the blackhole operation.
|
|
|
+ // The expected behavior is that cluster elects a new leader, and once
|
|
|
+ // dropping operation is undone, the old leader comes back and rejoins
|
|
|
+ // the cluster as a follower. The slow follower tries to catch up, likely
|
|
|
+ // receiving the snapshot from the new active leader. As always, after
|
|
|
+ // recovery, each member must be able to process client requests.
|
|
|
+ Case_BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT Case = 103
|
|
|
+ // BLACKHOLE_PEER_PORT_TX_RX_QUORUM drops all outgoing/incoming packets
|
|
|
+ // from/to the peer ports on majority nodes of cluster, thus losing its
|
|
|
+ // leader and cluster being inoperable. And it waits for "delay-ms"
|
|
|
+ // until recovery.
|
|
|
+ // The expected behavior is that once packet drop operation is undone,
|
|
|
+ // nodes come back online, thus cluster comes back operative. As always,
|
|
|
+ // after recovery, each member must be able to process client requests.
|
|
|
+ Case_BLACKHOLE_PEER_PORT_TX_RX_QUORUM Case = 104
|
|
|
+ // BLACKHOLE_PEER_PORT_TX_RX_ALL drops all outgoing/incoming packets
|
|
|
+ // from/to the peer ports on all nodes, thus making cluster totally
|
|
|
+ // inoperable. It waits for "delay-ms" until recovery.
|
|
|
+ // The expected behavior is that once packet drop operation is undone,
|
|
|
+ // nodes come back online, thus cluster comes back operative. As always,
|
|
|
+ // after recovery, each member must be able to process client requests.
|
|
|
+ Case_BLACKHOLE_PEER_PORT_TX_RX_ALL Case = 105
|
|
|
+ // DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER delays outgoing/incoming packets
|
|
|
+ // from/to the peer port on a randomly chosen follower (non-leader).
|
|
|
+ // It waits for "delay-ms" until recovery.
|
|
|
+ // The expected behavior is that once packet delay operation is undone,
|
|
|
+ // the follower comes back and tries to catch up with latest changes from
|
|
|
+ // cluster. And as always, after recovery, each member must be able to
|
|
|
+ // process client requests.
|
|
|
+ Case_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER Case = 200
|
|
|
+ // RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER delays outgoing/incoming
|
|
|
+ // packets from/to the peer port on a randomly chosen follower
|
|
|
+ // (non-leader) with a randomized time duration (thus isolated). It
|
|
|
+ // waits for "delay-ms" until recovery.
|
|
|
+ // The expected behavior is that once packet delay operation is undone,
|
|
|
+ // each member must be able to process client requests.
|
|
|
+ Case_RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER Case = 201
|
|
|
+ // DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT delays
|
|
|
+ // outgoing/incoming packets from/to the peer port on a randomly chosen
|
|
|
+ // follower (non-leader), and waits for most up-to-date node (leader)
|
|
|
+ // applies the snapshot count of entries since the delay operation.
|
|
|
+ // The expected behavior is that the delayed follower gets isolated
|
|
|
+ // and behind the current active leader, and once delay operation is undone,
|
|
|
+ // the slow follower comes back and catches up possibly receiving snapshot
|
|
|
+ // from the active leader. As always, after recovery, each member must be
|
|
|
+ // able to process client requests.
|
|
|
+ Case_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT Case = 202
|
|
|
+ // RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT delays
|
|
|
+ // outgoing/incoming packets from/to the peer port on a randomly chosen
|
|
|
+ // follower (non-leader) with a randomized time duration, and waits for
|
|
|
+ // most up-to-date node (leader) applies the snapshot count of entries
|
|
|
+ // since the delay operation.
|
|
|
+ // The expected behavior is that the delayed follower gets isolated
|
|
|
+ // and behind the current active leader, and once delay operation is undone,
|
|
|
+ // the slow follower comes back and catches up, possibly receiving a
|
|
|
+ // snapshot from the active leader. As always, after recovery, each member
|
|
|
+ // must be able to process client requests.
|
|
|
+ Case_RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT Case = 203
|
|
|
+ // DELAY_PEER_PORT_TX_RX_LEADER delays outgoing/incoming packets from/to
|
|
|
+ // the peer port on the active leader. And waits for "delay-ms" until
|
|
|
+ // recovery.
|
|
|
+ // The expected behavior is that cluster may elect a new leader, and
|
|
|
+ // once packet delay operation is undone, the (old) leader comes back
|
|
|
+ // and tries to catch up with latest changes from cluster. As always,
|
|
|
+ // after recovery, each member must be able to process client requests.
|
|
|
+ Case_DELAY_PEER_PORT_TX_RX_LEADER Case = 204
|
|
|
+ // RANDOM_DELAY_PEER_PORT_TX_RX_LEADER delays outgoing/incoming packets
|
|
|
+ // from/to the peer port on the active leader with a randomized time
|
|
|
+ // duration. And waits for "delay-ms" until recovery.
|
|
|
+ // The expected behavior is that cluster may elect a new leader, and
|
|
|
+ // once packet delay operation is undone, the (old) leader comes back
|
|
|
+ // and tries to catch up with latest changes from cluster. As always,
|
|
|
+ // after recovery, each member must be able to process client requests.
|
|
|
+ Case_RANDOM_DELAY_PEER_PORT_TX_RX_LEADER Case = 205
|
|
|
+ // DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT delays
|
|
|
+ // outgoing/incoming packets from/to the peer port on the active leader,
|
|
|
+ // and waits for most up-to-date node (current or new leader) applies the
|
|
|
+ // snapshot count of entries since the delay operation.
|
|
|
+ // The expected behavior is that cluster may elect a new leader, and
|
|
|
+ // the old leader gets isolated and behind the current active leader,
|
|
|
+ // and once delay operation is undone, the slow follower comes back
|
|
|
+ // and catches up, likely receiving a snapshot from the active leader.
|
|
|
+ // As always, after recovery, each member must be able to process client
|
|
|
+ // requests.
|
|
|
+ Case_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT Case = 206
|
|
|
+ // RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT delays
|
|
|
+ // outgoing/incoming packets from/to the peer port on the active leader,
|
|
|
+ // with a randomized time duration. And it waits for most up-to-date node
|
|
|
+ // (current or new leader) applies the snapshot count of entries since the
|
|
|
+ // delay operation.
|
|
|
+ // The expected behavior is that cluster may elect a new leader, and
|
|
|
+ // the old leader gets isolated and behind the current active leader,
|
|
|
+ // and once delay operation is undone, the slow follower comes back
|
|
|
+ // and catches up, likely receiving a snapshot from the active leader.
|
|
|
+ // As always, after recovery, each member must be able to process client
|
|
|
+ // requests.
|
|
|
+ Case_RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT Case = 207
|
|
|
+ // DELAY_PEER_PORT_TX_RX_QUORUM delays outgoing/incoming packets from/to
|
|
|
+ // the peer ports on majority nodes of cluster. And it waits for
|
|
|
+ // "delay-ms" until recovery, likely to trigger election timeouts.
|
|
|
+ // The expected behavior is that cluster may elect a new leader, while
|
|
|
+ // quorum of nodes struggle with slow networks, and once delay operation
|
|
|
+ // is undone, nodes come back and cluster comes back operative. As always,
|
|
|
+ // after recovery, each member must be able to process client requests.
|
|
|
+ Case_DELAY_PEER_PORT_TX_RX_QUORUM Case = 208
|
|
|
+ // RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM delays outgoing/incoming packets
|
|
|
+ // from/to the peer ports on majority nodes of cluster, with randomized
|
|
|
+ // time durations. And it waits for "delay-ms" until recovery, likely
|
|
|
+ // to trigger election timeouts.
|
|
|
+ // The expected behavior is that cluster may elect a new leader, while
|
|
|
+ // quorum of nodes struggle with slow networks, and once delay operation
|
|
|
+ // is undone, nodes come back and cluster comes back operative. As always,
|
|
|
+ // after recovery, each member must be able to process client requests.
|
|
|
+ Case_RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM Case = 209
|
|
|
+ // DELAY_PEER_PORT_TX_RX_ALL delays outgoing/incoming packets from/to the
|
|
|
+ // peer ports on all nodes. And it waits for "delay-ms" until recovery,
|
|
|
+ // likely to trigger election timeouts.
|
|
|
+ // The expected behavior is that cluster may become totally inoperable,
|
|
|
+ // struggling with slow networks across the whole cluster. Once delay
|
|
|
+ // operation is undone, nodes come back and cluster comes back operative.
|
|
|
+ // As always, after recovery, each member must be able to process client
|
|
|
+ // requests.
|
|
|
+ Case_DELAY_PEER_PORT_TX_RX_ALL Case = 210
|
|
|
+ // RANDOM_DELAY_PEER_PORT_TX_RX_ALL delays outgoing/incoming packets
|
|
|
+ // from/to the peer ports on all nodes, with randomized time durations.
|
|
|
+ // And it waits for "delay-ms" until recovery, likely to trigger
|
|
|
+ // election timeouts.
|
|
|
+ // The expected behavior is that cluster may become totally inoperable,
|
|
|
+ // struggling with slow networks across the whole cluster. Once delay
|
|
|
+ // operation is undone, nodes come back and cluster comes back operative.
|
|
|
+ // As always, after recovery, each member must be able to process client
|
|
|
+ // requests.
|
|
|
+ Case_RANDOM_DELAY_PEER_PORT_TX_RX_ALL Case = 211
|
|
|
+ // NO_FAIL_WITH_STRESS stops injecting failures while testing the
|
|
|
+ // consistency and correctness under pressure loads, for the duration of
|
|
|
+ // "delay-ms". Goal is to ensure cluster be still making progress
|
|
|
+ // on recovery, and verify system does not deadlock following a sequence
|
|
|
+ // of failure injections.
|
|
|
+ // The expected behavior is that cluster remains fully operative in healthy
|
|
|
+ // condition. As always, after recovery, each member must be able to process
|
|
|
+ // client requests.
|
|
|
+ Case_NO_FAIL_WITH_STRESS Case = 300
|
|
|
+ // NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS neither injects failures nor
|
|
|
+ // sends stressig client requests to the cluster, for the duration of
|
|
|
+ // "delay-ms". Goal is to ensure cluster be still making progress
|
|
|
+ // on recovery, and verify system does not deadlock following a sequence
|
|
|
+ // of failure injections.
|
|
|
+ // The expected behavior is that cluster remains fully operative in healthy
|
|
|
+ // condition, and clients requests during liveness period succeed without
|
|
|
+ // errors.
|
|
|
+ // Note: this is how Google Chubby does failure injection testing
|
|
|
+ // https://static.googleusercontent.com/media/research.google.com/en//archive/paxos_made_live.pdf.
|
|
|
+ Case_NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS Case = 301
|
|
|
+ // FAILPOINTS injects failpoints to etcd server runtime, triggering panics
|
|
|
+ // in critical code paths.
|
|
|
+ Case_FAILPOINTS Case = 400
|
|
|
+ // EXTERNAL runs external failure injection scripts.
|
|
|
+ Case_EXTERNAL Case = 500
|
|
|
+)
|
|
|
+
|
|
|
+var Case_name = map[int32]string{
|
|
|
+ 0: "SIGTERM_ONE_FOLLOWER",
|
|
|
+ 1: "SIGTERM_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 2: "SIGTERM_LEADER",
|
|
|
+ 3: "SIGTERM_LEADER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 4: "SIGTERM_QUORUM",
|
|
|
+ 5: "SIGTERM_ALL",
|
|
|
+ 10: "SIGQUIT_AND_REMOVE_ONE_FOLLOWER",
|
|
|
+ 11: "SIGQUIT_AND_REMOVE_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 12: "SIGQUIT_AND_REMOVE_LEADER",
|
|
|
+ 13: "SIGQUIT_AND_REMOVE_LEADER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 14: "SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_LEADER_SNAPSHOT_FROM_SCRATCH",
|
|
|
+ 100: "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER",
|
|
|
+ 101: "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 102: "BLACKHOLE_PEER_PORT_TX_RX_LEADER",
|
|
|
+ 103: "BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 104: "BLACKHOLE_PEER_PORT_TX_RX_QUORUM",
|
|
|
+ 105: "BLACKHOLE_PEER_PORT_TX_RX_ALL",
|
|
|
+ 200: "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER",
|
|
|
+ 201: "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER",
|
|
|
+ 202: "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 203: "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 204: "DELAY_PEER_PORT_TX_RX_LEADER",
|
|
|
+ 205: "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER",
|
|
|
+ 206: "DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 207: "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT",
|
|
|
+ 208: "DELAY_PEER_PORT_TX_RX_QUORUM",
|
|
|
+ 209: "RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM",
|
|
|
+ 210: "DELAY_PEER_PORT_TX_RX_ALL",
|
|
|
+ 211: "RANDOM_DELAY_PEER_PORT_TX_RX_ALL",
|
|
|
+ 300: "NO_FAIL_WITH_STRESS",
|
|
|
+ 301: "NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS",
|
|
|
+ 400: "FAILPOINTS",
|
|
|
+ 500: "EXTERNAL",
|
|
|
+}
|
|
|
+var Case_value = map[string]int32{
|
|
|
+ "SIGTERM_ONE_FOLLOWER": 0,
|
|
|
+ "SIGTERM_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 1,
|
|
|
+ "SIGTERM_LEADER": 2,
|
|
|
+ "SIGTERM_LEADER_UNTIL_TRIGGER_SNAPSHOT": 3,
|
|
|
+ "SIGTERM_QUORUM": 4,
|
|
|
+ "SIGTERM_ALL": 5,
|
|
|
+ "SIGQUIT_AND_REMOVE_ONE_FOLLOWER": 10,
|
|
|
+ "SIGQUIT_AND_REMOVE_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 11,
|
|
|
+ "SIGQUIT_AND_REMOVE_LEADER": 12,
|
|
|
+ "SIGQUIT_AND_REMOVE_LEADER_UNTIL_TRIGGER_SNAPSHOT": 13,
|
|
|
+ "SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_LEADER_SNAPSHOT_FROM_SCRATCH": 14,
|
|
|
+ "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER": 100,
|
|
|
+ "BLACKHOLE_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 101,
|
|
|
+ "BLACKHOLE_PEER_PORT_TX_RX_LEADER": 102,
|
|
|
+ "BLACKHOLE_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT": 103,
|
|
|
+ "BLACKHOLE_PEER_PORT_TX_RX_QUORUM": 104,
|
|
|
+ "BLACKHOLE_PEER_PORT_TX_RX_ALL": 105,
|
|
|
+ "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER": 200,
|
|
|
+ "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER": 201,
|
|
|
+ "DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 202,
|
|
|
+ "RANDOM_DELAY_PEER_PORT_TX_RX_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT": 203,
|
|
|
+ "DELAY_PEER_PORT_TX_RX_LEADER": 204,
|
|
|
+ "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER": 205,
|
|
|
+ "DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT": 206,
|
|
|
+ "RANDOM_DELAY_PEER_PORT_TX_RX_LEADER_UNTIL_TRIGGER_SNAPSHOT": 207,
|
|
|
+ "DELAY_PEER_PORT_TX_RX_QUORUM": 208,
|
|
|
+ "RANDOM_DELAY_PEER_PORT_TX_RX_QUORUM": 209,
|
|
|
+ "DELAY_PEER_PORT_TX_RX_ALL": 210,
|
|
|
+ "RANDOM_DELAY_PEER_PORT_TX_RX_ALL": 211,
|
|
|
+ "NO_FAIL_WITH_STRESS": 300,
|
|
|
+ "NO_FAIL_WITH_NO_STRESS_FOR_LIVENESS": 301,
|
|
|
+ "FAILPOINTS": 400,
|
|
|
+ "EXTERNAL": 500,
|
|
|
+}
|
|
|
+
|
|
|
+func (x Case) String() string {
|
|
|
+ return proto.EnumName(Case_name, int32(x))
|
|
|
+}
|
|
|
+func (Case) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{1} }
|
|
|
+
|
|
|
+type Stresser int32
|
|
|
+
|
|
|
+const (
|
|
|
+ Stresser_KV Stresser = 0
|
|
|
+ Stresser_LEASE Stresser = 1
|
|
|
+ Stresser_ELECTION_RUNNER Stresser = 2
|
|
|
+ Stresser_WATCH_RUNNER Stresser = 3
|
|
|
+ Stresser_LOCK_RACER_RUNNER Stresser = 4
|
|
|
+ Stresser_LEASE_RUNNER Stresser = 5
|
|
|
+)
|
|
|
+
|
|
|
+var Stresser_name = map[int32]string{
|
|
|
+ 0: "KV",
|
|
|
+ 1: "LEASE",
|
|
|
+ 2: "ELECTION_RUNNER",
|
|
|
+ 3: "WATCH_RUNNER",
|
|
|
+ 4: "LOCK_RACER_RUNNER",
|
|
|
+ 5: "LEASE_RUNNER",
|
|
|
+}
|
|
|
+var Stresser_value = map[string]int32{
|
|
|
+ "KV": 0,
|
|
|
+ "LEASE": 1,
|
|
|
+ "ELECTION_RUNNER": 2,
|
|
|
+ "WATCH_RUNNER": 3,
|
|
|
+ "LOCK_RACER_RUNNER": 4,
|
|
|
+ "LEASE_RUNNER": 5,
|
|
|
+}
|
|
|
+
|
|
|
+func (x Stresser) String() string {
|
|
|
+ return proto.EnumName(Stresser_name, int32(x))
|
|
|
+}
|
|
|
+func (Stresser) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{2} }
|
|
|
+
|
|
|
+type Checker int32
|
|
|
+
|
|
|
+const (
|
|
|
+ Checker_KV_HASH Checker = 0
|
|
|
+ Checker_LEASE_EXPIRE Checker = 1
|
|
|
+ Checker_RUNNER Checker = 2
|
|
|
+ Checker_NO_CHECK Checker = 3
|
|
|
+)
|
|
|
+
|
|
|
+var Checker_name = map[int32]string{
|
|
|
+ 0: "KV_HASH",
|
|
|
+ 1: "LEASE_EXPIRE",
|
|
|
+ 2: "RUNNER",
|
|
|
+ 3: "NO_CHECK",
|
|
|
+}
|
|
|
+var Checker_value = map[string]int32{
|
|
|
+ "KV_HASH": 0,
|
|
|
+ "LEASE_EXPIRE": 1,
|
|
|
+ "RUNNER": 2,
|
|
|
+ "NO_CHECK": 3,
|
|
|
+}
|
|
|
+
|
|
|
+func (x Checker) String() string {
|
|
|
+ return proto.EnumName(Checker_name, int32(x))
|
|
|
+}
|
|
|
+func (Checker) EnumDescriptor() ([]byte, []int) { return fileDescriptorRpc, []int{3} }
|
|
|
+
|
|
|
+type Request struct {
|
|
|
+ Operation Operation `protobuf:"varint,1,opt,name=Operation,proto3,enum=rpcpb.Operation" json:"Operation,omitempty"`
|
|
|
+ // Member contains the same Member object from tester configuration.
|
|
|
+ Member *Member `protobuf:"bytes,2,opt,name=Member" json:"Member,omitempty"`
|
|
|
+ // Tester contains tester configuration.
|
|
|
+ Tester *Tester `protobuf:"bytes,3,opt,name=Tester" json:"Tester,omitempty"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Request) Reset() { *m = Request{} }
|
|
|
+func (m *Request) String() string { return proto.CompactTextString(m) }
|
|
|
+func (*Request) ProtoMessage() {}
|
|
|
+func (*Request) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{0} }
|
|
|
+
|
|
|
+// SnapshotInfo contains SAVE_SNAPSHOT request results.
|
|
|
+type SnapshotInfo struct {
|
|
|
+ MemberName string `protobuf:"bytes,1,opt,name=MemberName,proto3" json:"MemberName,omitempty"`
|
|
|
+ MemberClientURLs []string `protobuf:"bytes,2,rep,name=MemberClientURLs" json:"MemberClientURLs,omitempty"`
|
|
|
+ SnapshotPath string `protobuf:"bytes,3,opt,name=SnapshotPath,proto3" json:"SnapshotPath,omitempty"`
|
|
|
+ SnapshotFileSize string `protobuf:"bytes,4,opt,name=SnapshotFileSize,proto3" json:"SnapshotFileSize,omitempty"`
|
|
|
+ SnapshotTotalSize string `protobuf:"bytes,5,opt,name=SnapshotTotalSize,proto3" json:"SnapshotTotalSize,omitempty"`
|
|
|
+ SnapshotTotalKey int64 `protobuf:"varint,6,opt,name=SnapshotTotalKey,proto3" json:"SnapshotTotalKey,omitempty"`
|
|
|
+ SnapshotHash int64 `protobuf:"varint,7,opt,name=SnapshotHash,proto3" json:"SnapshotHash,omitempty"`
|
|
|
+ SnapshotRevision int64 `protobuf:"varint,8,opt,name=SnapshotRevision,proto3" json:"SnapshotRevision,omitempty"`
|
|
|
+ Took string `protobuf:"bytes,9,opt,name=Took,proto3" json:"Took,omitempty"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SnapshotInfo) Reset() { *m = SnapshotInfo{} }
|
|
|
+func (m *SnapshotInfo) String() string { return proto.CompactTextString(m) }
|
|
|
+func (*SnapshotInfo) ProtoMessage() {}
|
|
|
+func (*SnapshotInfo) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{1} }
|
|
|
+
|
|
|
+type Response struct {
|
|
|
+ Success bool `protobuf:"varint,1,opt,name=Success,proto3" json:"Success,omitempty"`
|
|
|
+ Status string `protobuf:"bytes,2,opt,name=Status,proto3" json:"Status,omitempty"`
|
|
|
+ // Member contains the same Member object from tester request.
|
|
|
+ Member *Member `protobuf:"bytes,3,opt,name=Member" json:"Member,omitempty"`
|
|
|
+ // SnapshotInfo contains SAVE_SNAPSHOT request results.
|
|
|
+ SnapshotInfo *SnapshotInfo `protobuf:"bytes,4,opt,name=SnapshotInfo" json:"SnapshotInfo,omitempty"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Response) Reset() { *m = Response{} }
|
|
|
+func (m *Response) String() string { return proto.CompactTextString(m) }
|
|
|
+func (*Response) ProtoMessage() {}
|
|
|
+func (*Response) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{2} }
|
|
|
+
|
|
|
+type Member struct {
|
|
|
+ // EtcdExecPath is the executable etcd binary path in agent server.
|
|
|
+ EtcdExecPath string `protobuf:"bytes,1,opt,name=EtcdExecPath,proto3" json:"EtcdExecPath,omitempty" yaml:"etcd-exec-path"`
|
|
|
+ // AgentAddr is the agent HTTP server address.
|
|
|
+ AgentAddr string `protobuf:"bytes,11,opt,name=AgentAddr,proto3" json:"AgentAddr,omitempty" yaml:"agent-addr"`
|
|
|
+ // FailpointHTTPAddr is the agent's failpoints HTTP server address.
|
|
|
+ FailpointHTTPAddr string `protobuf:"bytes,12,opt,name=FailpointHTTPAddr,proto3" json:"FailpointHTTPAddr,omitempty" yaml:"failpoint-http-addr"`
|
|
|
+ // BaseDir is the base directory where all logs and etcd data are stored.
|
|
|
+ BaseDir string `protobuf:"bytes,101,opt,name=BaseDir,proto3" json:"BaseDir,omitempty" yaml:"base-dir"`
|
|
|
+ // EtcdLogPath is the log file to store current etcd server logs.
|
|
|
+ EtcdLogPath string `protobuf:"bytes,102,opt,name=EtcdLogPath,proto3" json:"EtcdLogPath,omitempty" yaml:"etcd-log-path"`
|
|
|
+ // EtcdClientProxy is true when client traffic needs to be proxied.
|
|
|
+ // If true, listen client URL port must be different than advertise client URL port.
|
|
|
+ EtcdClientProxy bool `protobuf:"varint,201,opt,name=EtcdClientProxy,proto3" json:"EtcdClientProxy,omitempty" yaml:"etcd-client-proxy"`
|
|
|
+ // EtcdPeerProxy is true when peer traffic needs to be proxied.
|
|
|
+ // If true, listen peer URL port must be different than advertise peer URL port.
|
|
|
+ EtcdPeerProxy bool `protobuf:"varint,202,opt,name=EtcdPeerProxy,proto3" json:"EtcdPeerProxy,omitempty" yaml:"etcd-peer-proxy"`
|
|
|
+ // EtcdClientEndpoint is the etcd client endpoint.
|
|
|
+ EtcdClientEndpoint string `protobuf:"bytes,301,opt,name=EtcdClientEndpoint,proto3" json:"EtcdClientEndpoint,omitempty" yaml:"etcd-client-endpoint"`
|
|
|
+ // Etcd defines etcd binary configuration flags.
|
|
|
+ Etcd *Etcd `protobuf:"bytes,302,opt,name=Etcd" json:"Etcd,omitempty" yaml:"etcd"`
|
|
|
+ // EtcdOnSnapshotRestore defines one-time use configuration during etcd
|
|
|
+ // snapshot recovery process.
|
|
|
+ EtcdOnSnapshotRestore *Etcd `protobuf:"bytes,303,opt,name=EtcdOnSnapshotRestore" json:"EtcdOnSnapshotRestore,omitempty"`
|
|
|
+ // ClientCertData contains cert file contents from this member's etcd server.
|
|
|
+ ClientCertData string `protobuf:"bytes,401,opt,name=ClientCertData,proto3" json:"ClientCertData,omitempty" yaml:"client-cert-data"`
|
|
|
+ ClientCertPath string `protobuf:"bytes,402,opt,name=ClientCertPath,proto3" json:"ClientCertPath,omitempty" yaml:"client-cert-path"`
|
|
|
+ // ClientKeyData contains key file contents from this member's etcd server.
|
|
|
+ ClientKeyData string `protobuf:"bytes,403,opt,name=ClientKeyData,proto3" json:"ClientKeyData,omitempty" yaml:"client-key-data"`
|
|
|
+ ClientKeyPath string `protobuf:"bytes,404,opt,name=ClientKeyPath,proto3" json:"ClientKeyPath,omitempty" yaml:"client-key-path"`
|
|
|
+ // ClientTrustedCAData contains trusted CA file contents from this member's etcd server.
|
|
|
+ ClientTrustedCAData string `protobuf:"bytes,405,opt,name=ClientTrustedCAData,proto3" json:"ClientTrustedCAData,omitempty" yaml:"client-trusted-ca-data"`
|
|
|
+ ClientTrustedCAPath string `protobuf:"bytes,406,opt,name=ClientTrustedCAPath,proto3" json:"ClientTrustedCAPath,omitempty" yaml:"client-trusted-ca-path"`
|
|
|
+ // PeerCertData contains cert file contents from this member's etcd server.
|
|
|
+ PeerCertData string `protobuf:"bytes,501,opt,name=PeerCertData,proto3" json:"PeerCertData,omitempty" yaml:"peer-cert-data"`
|
|
|
+ PeerCertPath string `protobuf:"bytes,502,opt,name=PeerCertPath,proto3" json:"PeerCertPath,omitempty" yaml:"peer-cert-path"`
|
|
|
+ // PeerKeyData contains key file contents from this member's etcd server.
|
|
|
+ PeerKeyData string `protobuf:"bytes,503,opt,name=PeerKeyData,proto3" json:"PeerKeyData,omitempty" yaml:"peer-key-data"`
|
|
|
+ PeerKeyPath string `protobuf:"bytes,504,opt,name=PeerKeyPath,proto3" json:"PeerKeyPath,omitempty" yaml:"peer-key-path"`
|
|
|
+ // PeerTrustedCAData contains trusted CA file contents from this member's etcd server.
|
|
|
+ PeerTrustedCAData string `protobuf:"bytes,505,opt,name=PeerTrustedCAData,proto3" json:"PeerTrustedCAData,omitempty" yaml:"peer-trusted-ca-data"`
|
|
|
+ PeerTrustedCAPath string `protobuf:"bytes,506,opt,name=PeerTrustedCAPath,proto3" json:"PeerTrustedCAPath,omitempty" yaml:"peer-trusted-ca-path"`
|
|
|
+ // SnapshotPath is the snapshot file path to store or restore from.
|
|
|
+ SnapshotPath string `protobuf:"bytes,601,opt,name=SnapshotPath,proto3" json:"SnapshotPath,omitempty" yaml:"snapshot-path"`
|
|
|
+ // SnapshotInfo contains last SAVE_SNAPSHOT request results.
|
|
|
+ SnapshotInfo *SnapshotInfo `protobuf:"bytes,602,opt,name=SnapshotInfo" json:"SnapshotInfo,omitempty"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Member) Reset() { *m = Member{} }
|
|
|
+func (m *Member) String() string { return proto.CompactTextString(m) }
|
|
|
+func (*Member) ProtoMessage() {}
|
|
|
+func (*Member) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{3} }
|
|
|
+
|
|
|
+type Tester struct {
|
|
|
+ DataDir string `protobuf:"bytes,1,opt,name=DataDir,proto3" json:"DataDir,omitempty" yaml:"data-dir"`
|
|
|
+ Network string `protobuf:"bytes,2,opt,name=Network,proto3" json:"Network,omitempty" yaml:"network"`
|
|
|
+ Addr string `protobuf:"bytes,3,opt,name=Addr,proto3" json:"Addr,omitempty" yaml:"addr"`
|
|
|
+ // DelayLatencyMsRv is the delay latency in milliseconds,
|
|
|
+ // to inject to simulated slow network.
|
|
|
+ DelayLatencyMs uint32 `protobuf:"varint,11,opt,name=DelayLatencyMs,proto3" json:"DelayLatencyMs,omitempty" yaml:"delay-latency-ms"`
|
|
|
+ // DelayLatencyMsRv is the delay latency random variable in milliseconds.
|
|
|
+ DelayLatencyMsRv uint32 `protobuf:"varint,12,opt,name=DelayLatencyMsRv,proto3" json:"DelayLatencyMsRv,omitempty" yaml:"delay-latency-ms-rv"`
|
|
|
+ // UpdatedDelayLatencyMs is the update delay latency in milliseconds,
|
|
|
+ // to inject to simulated slow network. It's the final latency to apply,
|
|
|
+ // in case the latency numbers are randomly generated from given delay latency field.
|
|
|
+ UpdatedDelayLatencyMs uint32 `protobuf:"varint,13,opt,name=UpdatedDelayLatencyMs,proto3" json:"UpdatedDelayLatencyMs,omitempty" yaml:"updated-delay-latency-ms"`
|
|
|
+ // RoundLimit is the limit of rounds to run failure set (-1 to run without limits).
|
|
|
+ RoundLimit int32 `protobuf:"varint,21,opt,name=RoundLimit,proto3" json:"RoundLimit,omitempty" yaml:"round-limit"`
|
|
|
+ // ExitOnCaseFail is true, then exit tester on first failure.
|
|
|
+ ExitOnCaseFail bool `protobuf:"varint,22,opt,name=ExitOnCaseFail,proto3" json:"ExitOnCaseFail,omitempty" yaml:"exit-on-failure"`
|
|
|
+ // EnablePprof is true to enable profiler.
|
|
|
+ EnablePprof bool `protobuf:"varint,23,opt,name=EnablePprof,proto3" json:"EnablePprof,omitempty" yaml:"enable-pprof"`
|
|
|
+ // CaseDelayMs is the delay duration after failure is injected.
|
|
|
+ // Useful when triggering snapshot or no-op failure cases.
|
|
|
+ CaseDelayMs uint32 `protobuf:"varint,31,opt,name=CaseDelayMs,proto3" json:"CaseDelayMs,omitempty" yaml:"case-delay-ms"`
|
|
|
+ // CaseShuffle is true to randomize failure injecting order.
|
|
|
+ CaseShuffle bool `protobuf:"varint,32,opt,name=CaseShuffle,proto3" json:"CaseShuffle,omitempty" yaml:"case-shuffle"`
|
|
|
+ // Cases is the selected test cases to schedule.
|
|
|
+ // If empty, run all failure cases.
|
|
|
+ Cases []string `protobuf:"bytes,33,rep,name=Cases" json:"Cases,omitempty" yaml:"cases"`
|
|
|
+ // FailpointCommands is the list of "gofail" commands
|
|
|
+ // (e.g. panic("etcd-tester"),1*sleep(1000).
|
|
|
+ FailpointCommands []string `protobuf:"bytes,34,rep,name=FailpointCommands" json:"FailpointCommands,omitempty" yaml:"failpoint-commands"`
|
|
|
+ // RunnerExecPath is a path of etcd-runner binary.
|
|
|
+ RunnerExecPath string `protobuf:"bytes,41,opt,name=RunnerExecPath,proto3" json:"RunnerExecPath,omitempty" yaml:"runner-exec-path"`
|
|
|
+ // ExternalExecPath is a path of script for enabling/disabling an external fault injector.
|
|
|
+ ExternalExecPath string `protobuf:"bytes,42,opt,name=ExternalExecPath,proto3" json:"ExternalExecPath,omitempty" yaml:"external-exec-path"`
|
|
|
+ // Stressers is the list of stresser types:
|
|
|
+ // KV, LEASE, ELECTION_RUNNER, WATCH_RUNNER, LOCK_RACER_RUNNER, LEASE_RUNNER.
|
|
|
+ Stressers []string `protobuf:"bytes,101,rep,name=Stressers" json:"Stressers,omitempty" yaml:"stressers"`
|
|
|
+ // Checkers is the list of consistency checker types:
|
|
|
+ // KV_HASH, LEASE_EXPIRE, NO_CHECK, RUNNER.
|
|
|
+ // Leave empty to skip consistency checks.
|
|
|
+ Checkers []string `protobuf:"bytes,102,rep,name=Checkers" json:"Checkers,omitempty" yaml:"checkers"`
|
|
|
+ // StressKeySize is the size of each small key written into etcd.
|
|
|
+ StressKeySize int32 `protobuf:"varint,201,opt,name=StressKeySize,proto3" json:"StressKeySize,omitempty" yaml:"stress-key-size"`
|
|
|
+ // StressKeySizeLarge is the size of each large key written into etcd.
|
|
|
+ StressKeySizeLarge int32 `protobuf:"varint,202,opt,name=StressKeySizeLarge,proto3" json:"StressKeySizeLarge,omitempty" yaml:"stress-key-size-large"`
|
|
|
+ // StressKeySuffixRange is the count of key range written into etcd.
|
|
|
+ // Stress keys are created with "fmt.Sprintf("foo%016x", rand.Intn(keySuffixRange)".
|
|
|
+ StressKeySuffixRange int32 `protobuf:"varint,203,opt,name=StressKeySuffixRange,proto3" json:"StressKeySuffixRange,omitempty" yaml:"stress-key-suffix-range"`
|
|
|
+ // StressKeySuffixRangeTxn is the count of key range written into etcd txn (max 100).
|
|
|
+ // Stress keys are created with "fmt.Sprintf("/k%03d", i)".
|
|
|
+ StressKeySuffixRangeTxn int32 `protobuf:"varint,204,opt,name=StressKeySuffixRangeTxn,proto3" json:"StressKeySuffixRangeTxn,omitempty" yaml:"stress-key-suffix-range-txn"`
|
|
|
+ // StressKeyTxnOps is the number of operations per a transaction (max 64).
|
|
|
+ StressKeyTxnOps int32 `protobuf:"varint,205,opt,name=StressKeyTxnOps,proto3" json:"StressKeyTxnOps,omitempty" yaml:"stress-key-txn-ops"`
|
|
|
+ // StressClients is the number of concurrent stressing clients
|
|
|
+ // with "one" shared TCP connection.
|
|
|
+ StressClients int32 `protobuf:"varint,301,opt,name=StressClients,proto3" json:"StressClients,omitempty" yaml:"stress-clients"`
|
|
|
+ // StressQPS is the maximum number of stresser requests per second.
|
|
|
+ StressQPS int32 `protobuf:"varint,302,opt,name=StressQPS,proto3" json:"StressQPS,omitempty" yaml:"stress-qps"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Tester) Reset() { *m = Tester{} }
|
|
|
+func (m *Tester) String() string { return proto.CompactTextString(m) }
|
|
|
+func (*Tester) ProtoMessage() {}
|
|
|
+func (*Tester) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{4} }
|
|
|
+
|
|
|
+type Etcd struct {
|
|
|
+ Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty" yaml:"name"`
|
|
|
+ DataDir string `protobuf:"bytes,2,opt,name=DataDir,proto3" json:"DataDir,omitempty" yaml:"data-dir"`
|
|
|
+ WALDir string `protobuf:"bytes,3,opt,name=WALDir,proto3" json:"WALDir,omitempty" yaml:"wal-dir"`
|
|
|
+ // HeartbeatIntervalMs is the time (in milliseconds) of a heartbeat interval.
|
|
|
+ // Default value is 100, which is 100ms.
|
|
|
+ HeartbeatIntervalMs int64 `protobuf:"varint,11,opt,name=HeartbeatIntervalMs,proto3" json:"HeartbeatIntervalMs,omitempty" yaml:"heartbeat-interval"`
|
|
|
+ // ElectionTimeoutMs is the time (in milliseconds) for an election to timeout.
|
|
|
+ // Default value is 1000, which is 1s.
|
|
|
+ ElectionTimeoutMs int64 `protobuf:"varint,12,opt,name=ElectionTimeoutMs,proto3" json:"ElectionTimeoutMs,omitempty" yaml:"election-timeout"`
|
|
|
+ ListenClientURLs []string `protobuf:"bytes,21,rep,name=ListenClientURLs" json:"ListenClientURLs,omitempty" yaml:"listen-client-urls"`
|
|
|
+ AdvertiseClientURLs []string `protobuf:"bytes,22,rep,name=AdvertiseClientURLs" json:"AdvertiseClientURLs,omitempty" yaml:"advertise-client-urls"`
|
|
|
+ ClientAutoTLS bool `protobuf:"varint,23,opt,name=ClientAutoTLS,proto3" json:"ClientAutoTLS,omitempty" yaml:"auto-tls"`
|
|
|
+ ClientCertAuth bool `protobuf:"varint,24,opt,name=ClientCertAuth,proto3" json:"ClientCertAuth,omitempty" yaml:"client-cert-auth"`
|
|
|
+ ClientCertFile string `protobuf:"bytes,25,opt,name=ClientCertFile,proto3" json:"ClientCertFile,omitempty" yaml:"cert-file"`
|
|
|
+ ClientKeyFile string `protobuf:"bytes,26,opt,name=ClientKeyFile,proto3" json:"ClientKeyFile,omitempty" yaml:"key-file"`
|
|
|
+ ClientTrustedCAFile string `protobuf:"bytes,27,opt,name=ClientTrustedCAFile,proto3" json:"ClientTrustedCAFile,omitempty" yaml:"trusted-ca-file"`
|
|
|
+ ListenPeerURLs []string `protobuf:"bytes,31,rep,name=ListenPeerURLs" json:"ListenPeerURLs,omitempty" yaml:"listen-peer-urls"`
|
|
|
+ AdvertisePeerURLs []string `protobuf:"bytes,32,rep,name=AdvertisePeerURLs" json:"AdvertisePeerURLs,omitempty" yaml:"initial-advertise-peer-urls"`
|
|
|
+ PeerAutoTLS bool `protobuf:"varint,33,opt,name=PeerAutoTLS,proto3" json:"PeerAutoTLS,omitempty" yaml:"peer-auto-tls"`
|
|
|
+ PeerClientCertAuth bool `protobuf:"varint,34,opt,name=PeerClientCertAuth,proto3" json:"PeerClientCertAuth,omitempty" yaml:"peer-client-cert-auth"`
|
|
|
+ PeerCertFile string `protobuf:"bytes,35,opt,name=PeerCertFile,proto3" json:"PeerCertFile,omitempty" yaml:"peer-cert-file"`
|
|
|
+ PeerKeyFile string `protobuf:"bytes,36,opt,name=PeerKeyFile,proto3" json:"PeerKeyFile,omitempty" yaml:"peer-key-file"`
|
|
|
+ PeerTrustedCAFile string `protobuf:"bytes,37,opt,name=PeerTrustedCAFile,proto3" json:"PeerTrustedCAFile,omitempty" yaml:"peer-trusted-ca-file"`
|
|
|
+ InitialCluster string `protobuf:"bytes,41,opt,name=InitialCluster,proto3" json:"InitialCluster,omitempty" yaml:"initial-cluster"`
|
|
|
+ InitialClusterState string `protobuf:"bytes,42,opt,name=InitialClusterState,proto3" json:"InitialClusterState,omitempty" yaml:"initial-cluster-state"`
|
|
|
+ InitialClusterToken string `protobuf:"bytes,43,opt,name=InitialClusterToken,proto3" json:"InitialClusterToken,omitempty" yaml:"initial-cluster-token"`
|
|
|
+ SnapshotCount int64 `protobuf:"varint,51,opt,name=SnapshotCount,proto3" json:"SnapshotCount,omitempty" yaml:"snapshot-count"`
|
|
|
+ QuotaBackendBytes int64 `protobuf:"varint,52,opt,name=QuotaBackendBytes,proto3" json:"QuotaBackendBytes,omitempty" yaml:"quota-backend-bytes"`
|
|
|
+ PreVote bool `protobuf:"varint,63,opt,name=PreVote,proto3" json:"PreVote,omitempty" yaml:"pre-vote"`
|
|
|
+ InitialCorruptCheck bool `protobuf:"varint,64,opt,name=InitialCorruptCheck,proto3" json:"InitialCorruptCheck,omitempty" yaml:"initial-corrupt-check"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Etcd) Reset() { *m = Etcd{} }
|
|
|
+func (m *Etcd) String() string { return proto.CompactTextString(m) }
|
|
|
+func (*Etcd) ProtoMessage() {}
|
|
|
+func (*Etcd) Descriptor() ([]byte, []int) { return fileDescriptorRpc, []int{5} }
|
|
|
+
|
|
|
+func init() {
|
|
|
+ proto.RegisterType((*Request)(nil), "rpcpb.Request")
|
|
|
+ proto.RegisterType((*SnapshotInfo)(nil), "rpcpb.SnapshotInfo")
|
|
|
+ proto.RegisterType((*Response)(nil), "rpcpb.Response")
|
|
|
+ proto.RegisterType((*Member)(nil), "rpcpb.Member")
|
|
|
+ proto.RegisterType((*Tester)(nil), "rpcpb.Tester")
|
|
|
+ proto.RegisterType((*Etcd)(nil), "rpcpb.Etcd")
|
|
|
+ proto.RegisterEnum("rpcpb.Operation", Operation_name, Operation_value)
|
|
|
+ proto.RegisterEnum("rpcpb.Case", Case_name, Case_value)
|
|
|
+ proto.RegisterEnum("rpcpb.Stresser", Stresser_name, Stresser_value)
|
|
|
+ proto.RegisterEnum("rpcpb.Checker", Checker_name, Checker_value)
|
|
|
+}
|
|
|
+
|
|
|
+// Reference imports to suppress errors if they are not otherwise used.
|
|
|
+var _ context.Context
|
|
|
+var _ grpc.ClientConn
|
|
|
+
|
|
|
+// This is a compile-time assertion to ensure that this generated file
|
|
|
+// is compatible with the grpc package it is being compiled against.
|
|
|
+const _ = grpc.SupportPackageIsVersion4
|
|
|
+
|
|
|
+// Client API for Transport service
|
|
|
+
|
|
|
+type TransportClient interface {
|
|
|
+ Transport(ctx context.Context, opts ...grpc.CallOption) (Transport_TransportClient, error)
|
|
|
+}
|
|
|
+
|
|
|
+type transportClient struct {
|
|
|
+ cc *grpc.ClientConn
|
|
|
+}
|
|
|
+
|
|
|
+func NewTransportClient(cc *grpc.ClientConn) TransportClient {
|
|
|
+ return &transportClient{cc}
|
|
|
+}
|
|
|
+
|
|
|
+func (c *transportClient) Transport(ctx context.Context, opts ...grpc.CallOption) (Transport_TransportClient, error) {
|
|
|
+ stream, err := grpc.NewClientStream(ctx, &_Transport_serviceDesc.Streams[0], c.cc, "/rpcpb.Transport/Transport", opts...)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ x := &transportTransportClient{stream}
|
|
|
+ return x, nil
|
|
|
+}
|
|
|
+
|
|
|
+type Transport_TransportClient interface {
|
|
|
+ Send(*Request) error
|
|
|
+ Recv() (*Response, error)
|
|
|
+ grpc.ClientStream
|
|
|
+}
|
|
|
+
|
|
|
+type transportTransportClient struct {
|
|
|
+ grpc.ClientStream
|
|
|
+}
|
|
|
+
|
|
|
+func (x *transportTransportClient) Send(m *Request) error {
|
|
|
+ return x.ClientStream.SendMsg(m)
|
|
|
+}
|
|
|
+
|
|
|
+func (x *transportTransportClient) Recv() (*Response, error) {
|
|
|
+ m := new(Response)
|
|
|
+ if err := x.ClientStream.RecvMsg(m); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return m, nil
|
|
|
+}
|
|
|
+
|
|
|
+// Server API for Transport service
|
|
|
+
|
|
|
+type TransportServer interface {
|
|
|
+ Transport(Transport_TransportServer) error
|
|
|
+}
|
|
|
+
|
|
|
+func RegisterTransportServer(s *grpc.Server, srv TransportServer) {
|
|
|
+ s.RegisterService(&_Transport_serviceDesc, srv)
|
|
|
+}
|
|
|
+
|
|
|
+func _Transport_Transport_Handler(srv interface{}, stream grpc.ServerStream) error {
|
|
|
+ return srv.(TransportServer).Transport(&transportTransportServer{stream})
|
|
|
+}
|
|
|
+
|
|
|
+type Transport_TransportServer interface {
|
|
|
+ Send(*Response) error
|
|
|
+ Recv() (*Request, error)
|
|
|
+ grpc.ServerStream
|
|
|
+}
|
|
|
+
|
|
|
+type transportTransportServer struct {
|
|
|
+ grpc.ServerStream
|
|
|
+}
|
|
|
+
|
|
|
+func (x *transportTransportServer) Send(m *Response) error {
|
|
|
+ return x.ServerStream.SendMsg(m)
|
|
|
+}
|
|
|
+
|
|
|
+func (x *transportTransportServer) Recv() (*Request, error) {
|
|
|
+ m := new(Request)
|
|
|
+ if err := x.ServerStream.RecvMsg(m); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return m, nil
|
|
|
+}
|
|
|
+
|
|
|
+var _Transport_serviceDesc = grpc.ServiceDesc{
|
|
|
+ ServiceName: "rpcpb.Transport",
|
|
|
+ HandlerType: (*TransportServer)(nil),
|
|
|
+ Methods: []grpc.MethodDesc{},
|
|
|
+ Streams: []grpc.StreamDesc{
|
|
|
+ {
|
|
|
+ StreamName: "Transport",
|
|
|
+ Handler: _Transport_Transport_Handler,
|
|
|
+ ServerStreams: true,
|
|
|
+ ClientStreams: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ Metadata: "rpcpb/rpc.proto",
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Request) Marshal() (dAtA []byte, err error) {
|
|
|
+ size := m.Size()
|
|
|
+ dAtA = make([]byte, size)
|
|
|
+ n, err := m.MarshalTo(dAtA)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return dAtA[:n], nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Request) MarshalTo(dAtA []byte) (int, error) {
|
|
|
+ var i int
|
|
|
+ _ = i
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if m.Operation != 0 {
|
|
|
+ dAtA[i] = 0x8
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.Operation))
|
|
|
+ }
|
|
|
+ if m.Member != nil {
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.Member.Size()))
|
|
|
+ n1, err := m.Member.MarshalTo(dAtA[i:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ i += n1
|
|
|
+ }
|
|
|
+ if m.Tester != nil {
|
|
|
+ dAtA[i] = 0x1a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.Tester.Size()))
|
|
|
+ n2, err := m.Tester.MarshalTo(dAtA[i:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ i += n2
|
|
|
+ }
|
|
|
+ return i, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SnapshotInfo) Marshal() (dAtA []byte, err error) {
|
|
|
+ size := m.Size()
|
|
|
+ dAtA = make([]byte, size)
|
|
|
+ n, err := m.MarshalTo(dAtA)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return dAtA[:n], nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SnapshotInfo) MarshalTo(dAtA []byte) (int, error) {
|
|
|
+ var i int
|
|
|
+ _ = i
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if len(m.MemberName) > 0 {
|
|
|
+ dAtA[i] = 0xa
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.MemberName)))
|
|
|
+ i += copy(dAtA[i:], m.MemberName)
|
|
|
+ }
|
|
|
+ if len(m.MemberClientURLs) > 0 {
|
|
|
+ for _, s := range m.MemberClientURLs {
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.SnapshotPath) > 0 {
|
|
|
+ dAtA[i] = 0x1a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.SnapshotPath)))
|
|
|
+ i += copy(dAtA[i:], m.SnapshotPath)
|
|
|
+ }
|
|
|
+ if len(m.SnapshotFileSize) > 0 {
|
|
|
+ dAtA[i] = 0x22
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.SnapshotFileSize)))
|
|
|
+ i += copy(dAtA[i:], m.SnapshotFileSize)
|
|
|
+ }
|
|
|
+ if len(m.SnapshotTotalSize) > 0 {
|
|
|
+ dAtA[i] = 0x2a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.SnapshotTotalSize)))
|
|
|
+ i += copy(dAtA[i:], m.SnapshotTotalSize)
|
|
|
+ }
|
|
|
+ if m.SnapshotTotalKey != 0 {
|
|
|
+ dAtA[i] = 0x30
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.SnapshotTotalKey))
|
|
|
+ }
|
|
|
+ if m.SnapshotHash != 0 {
|
|
|
+ dAtA[i] = 0x38
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.SnapshotHash))
|
|
|
+ }
|
|
|
+ if m.SnapshotRevision != 0 {
|
|
|
+ dAtA[i] = 0x40
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.SnapshotRevision))
|
|
|
+ }
|
|
|
+ if len(m.Took) > 0 {
|
|
|
+ dAtA[i] = 0x4a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.Took)))
|
|
|
+ i += copy(dAtA[i:], m.Took)
|
|
|
+ }
|
|
|
+ return i, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Response) Marshal() (dAtA []byte, err error) {
|
|
|
+ size := m.Size()
|
|
|
+ dAtA = make([]byte, size)
|
|
|
+ n, err := m.MarshalTo(dAtA)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return dAtA[:n], nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Response) MarshalTo(dAtA []byte) (int, error) {
|
|
|
+ var i int
|
|
|
+ _ = i
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if m.Success {
|
|
|
+ dAtA[i] = 0x8
|
|
|
+ i++
|
|
|
+ if m.Success {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if len(m.Status) > 0 {
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.Status)))
|
|
|
+ i += copy(dAtA[i:], m.Status)
|
|
|
+ }
|
|
|
+ if m.Member != nil {
|
|
|
+ dAtA[i] = 0x1a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.Member.Size()))
|
|
|
+ n3, err := m.Member.MarshalTo(dAtA[i:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ i += n3
|
|
|
+ }
|
|
|
+ if m.SnapshotInfo != nil {
|
|
|
+ dAtA[i] = 0x22
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.SnapshotInfo.Size()))
|
|
|
+ n4, err := m.SnapshotInfo.MarshalTo(dAtA[i:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ i += n4
|
|
|
+ }
|
|
|
+ return i, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Member) Marshal() (dAtA []byte, err error) {
|
|
|
+ size := m.Size()
|
|
|
+ dAtA = make([]byte, size)
|
|
|
+ n, err := m.MarshalTo(dAtA)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return dAtA[:n], nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Member) MarshalTo(dAtA []byte) (int, error) {
|
|
|
+ var i int
|
|
|
+ _ = i
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if len(m.EtcdExecPath) > 0 {
|
|
|
+ dAtA[i] = 0xa
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.EtcdExecPath)))
|
|
|
+ i += copy(dAtA[i:], m.EtcdExecPath)
|
|
|
+ }
|
|
|
+ if len(m.AgentAddr) > 0 {
|
|
|
+ dAtA[i] = 0x5a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.AgentAddr)))
|
|
|
+ i += copy(dAtA[i:], m.AgentAddr)
|
|
|
+ }
|
|
|
+ if len(m.FailpointHTTPAddr) > 0 {
|
|
|
+ dAtA[i] = 0x62
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.FailpointHTTPAddr)))
|
|
|
+ i += copy(dAtA[i:], m.FailpointHTTPAddr)
|
|
|
+ }
|
|
|
+ if len(m.BaseDir) > 0 {
|
|
|
+ dAtA[i] = 0xaa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x6
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.BaseDir)))
|
|
|
+ i += copy(dAtA[i:], m.BaseDir)
|
|
|
+ }
|
|
|
+ if len(m.EtcdLogPath) > 0 {
|
|
|
+ dAtA[i] = 0xb2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x6
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.EtcdLogPath)))
|
|
|
+ i += copy(dAtA[i:], m.EtcdLogPath)
|
|
|
+ }
|
|
|
+ if m.EtcdClientProxy {
|
|
|
+ dAtA[i] = 0xc8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0xc
|
|
|
+ i++
|
|
|
+ if m.EtcdClientProxy {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if m.EtcdPeerProxy {
|
|
|
+ dAtA[i] = 0xd0
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0xc
|
|
|
+ i++
|
|
|
+ if m.EtcdPeerProxy {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if len(m.EtcdClientEndpoint) > 0 {
|
|
|
+ dAtA[i] = 0xea
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.EtcdClientEndpoint)))
|
|
|
+ i += copy(dAtA[i:], m.EtcdClientEndpoint)
|
|
|
+ }
|
|
|
+ if m.Etcd != nil {
|
|
|
+ dAtA[i] = 0xf2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.Etcd.Size()))
|
|
|
+ n5, err := m.Etcd.MarshalTo(dAtA[i:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ i += n5
|
|
|
+ }
|
|
|
+ if m.EtcdOnSnapshotRestore != nil {
|
|
|
+ dAtA[i] = 0xfa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.EtcdOnSnapshotRestore.Size()))
|
|
|
+ n6, err := m.EtcdOnSnapshotRestore.MarshalTo(dAtA[i:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ i += n6
|
|
|
+ }
|
|
|
+ if len(m.ClientCertData) > 0 {
|
|
|
+ dAtA[i] = 0x8a
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x19
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientCertData)))
|
|
|
+ i += copy(dAtA[i:], m.ClientCertData)
|
|
|
+ }
|
|
|
+ if len(m.ClientCertPath) > 0 {
|
|
|
+ dAtA[i] = 0x92
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x19
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientCertPath)))
|
|
|
+ i += copy(dAtA[i:], m.ClientCertPath)
|
|
|
+ }
|
|
|
+ if len(m.ClientKeyData) > 0 {
|
|
|
+ dAtA[i] = 0x9a
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x19
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientKeyData)))
|
|
|
+ i += copy(dAtA[i:], m.ClientKeyData)
|
|
|
+ }
|
|
|
+ if len(m.ClientKeyPath) > 0 {
|
|
|
+ dAtA[i] = 0xa2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x19
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientKeyPath)))
|
|
|
+ i += copy(dAtA[i:], m.ClientKeyPath)
|
|
|
+ }
|
|
|
+ if len(m.ClientTrustedCAData) > 0 {
|
|
|
+ dAtA[i] = 0xaa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x19
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientTrustedCAData)))
|
|
|
+ i += copy(dAtA[i:], m.ClientTrustedCAData)
|
|
|
+ }
|
|
|
+ if len(m.ClientTrustedCAPath) > 0 {
|
|
|
+ dAtA[i] = 0xb2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x19
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientTrustedCAPath)))
|
|
|
+ i += copy(dAtA[i:], m.ClientTrustedCAPath)
|
|
|
+ }
|
|
|
+ if len(m.PeerCertData) > 0 {
|
|
|
+ dAtA[i] = 0xaa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1f
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerCertData)))
|
|
|
+ i += copy(dAtA[i:], m.PeerCertData)
|
|
|
+ }
|
|
|
+ if len(m.PeerCertPath) > 0 {
|
|
|
+ dAtA[i] = 0xb2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1f
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerCertPath)))
|
|
|
+ i += copy(dAtA[i:], m.PeerCertPath)
|
|
|
+ }
|
|
|
+ if len(m.PeerKeyData) > 0 {
|
|
|
+ dAtA[i] = 0xba
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1f
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerKeyData)))
|
|
|
+ i += copy(dAtA[i:], m.PeerKeyData)
|
|
|
+ }
|
|
|
+ if len(m.PeerKeyPath) > 0 {
|
|
|
+ dAtA[i] = 0xc2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1f
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerKeyPath)))
|
|
|
+ i += copy(dAtA[i:], m.PeerKeyPath)
|
|
|
+ }
|
|
|
+ if len(m.PeerTrustedCAData) > 0 {
|
|
|
+ dAtA[i] = 0xca
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1f
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerTrustedCAData)))
|
|
|
+ i += copy(dAtA[i:], m.PeerTrustedCAData)
|
|
|
+ }
|
|
|
+ if len(m.PeerTrustedCAPath) > 0 {
|
|
|
+ dAtA[i] = 0xd2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1f
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerTrustedCAPath)))
|
|
|
+ i += copy(dAtA[i:], m.PeerTrustedCAPath)
|
|
|
+ }
|
|
|
+ if len(m.SnapshotPath) > 0 {
|
|
|
+ dAtA[i] = 0xca
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x25
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.SnapshotPath)))
|
|
|
+ i += copy(dAtA[i:], m.SnapshotPath)
|
|
|
+ }
|
|
|
+ if m.SnapshotInfo != nil {
|
|
|
+ dAtA[i] = 0xd2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x25
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.SnapshotInfo.Size()))
|
|
|
+ n7, err := m.SnapshotInfo.MarshalTo(dAtA[i:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ i += n7
|
|
|
+ }
|
|
|
+ return i, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Tester) Marshal() (dAtA []byte, err error) {
|
|
|
+ size := m.Size()
|
|
|
+ dAtA = make([]byte, size)
|
|
|
+ n, err := m.MarshalTo(dAtA)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return dAtA[:n], nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Tester) MarshalTo(dAtA []byte) (int, error) {
|
|
|
+ var i int
|
|
|
+ _ = i
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if len(m.DataDir) > 0 {
|
|
|
+ dAtA[i] = 0xa
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.DataDir)))
|
|
|
+ i += copy(dAtA[i:], m.DataDir)
|
|
|
+ }
|
|
|
+ if len(m.Network) > 0 {
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.Network)))
|
|
|
+ i += copy(dAtA[i:], m.Network)
|
|
|
+ }
|
|
|
+ if len(m.Addr) > 0 {
|
|
|
+ dAtA[i] = 0x1a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.Addr)))
|
|
|
+ i += copy(dAtA[i:], m.Addr)
|
|
|
+ }
|
|
|
+ if m.DelayLatencyMs != 0 {
|
|
|
+ dAtA[i] = 0x58
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.DelayLatencyMs))
|
|
|
+ }
|
|
|
+ if m.DelayLatencyMsRv != 0 {
|
|
|
+ dAtA[i] = 0x60
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.DelayLatencyMsRv))
|
|
|
+ }
|
|
|
+ if m.UpdatedDelayLatencyMs != 0 {
|
|
|
+ dAtA[i] = 0x68
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.UpdatedDelayLatencyMs))
|
|
|
+ }
|
|
|
+ if m.RoundLimit != 0 {
|
|
|
+ dAtA[i] = 0xa8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.RoundLimit))
|
|
|
+ }
|
|
|
+ if m.ExitOnCaseFail {
|
|
|
+ dAtA[i] = 0xb0
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ if m.ExitOnCaseFail {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if m.EnablePprof {
|
|
|
+ dAtA[i] = 0xb8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ if m.EnablePprof {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if m.CaseDelayMs != 0 {
|
|
|
+ dAtA[i] = 0xf8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.CaseDelayMs))
|
|
|
+ }
|
|
|
+ if m.CaseShuffle {
|
|
|
+ dAtA[i] = 0x80
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ if m.CaseShuffle {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if len(m.Cases) > 0 {
|
|
|
+ for _, s := range m.Cases {
|
|
|
+ dAtA[i] = 0x8a
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.FailpointCommands) > 0 {
|
|
|
+ for _, s := range m.FailpointCommands {
|
|
|
+ dAtA[i] = 0x92
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.RunnerExecPath) > 0 {
|
|
|
+ dAtA[i] = 0xca
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.RunnerExecPath)))
|
|
|
+ i += copy(dAtA[i:], m.RunnerExecPath)
|
|
|
+ }
|
|
|
+ if len(m.ExternalExecPath) > 0 {
|
|
|
+ dAtA[i] = 0xd2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ExternalExecPath)))
|
|
|
+ i += copy(dAtA[i:], m.ExternalExecPath)
|
|
|
+ }
|
|
|
+ if len(m.Stressers) > 0 {
|
|
|
+ for _, s := range m.Stressers {
|
|
|
+ dAtA[i] = 0xaa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x6
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.Checkers) > 0 {
|
|
|
+ for _, s := range m.Checkers {
|
|
|
+ dAtA[i] = 0xb2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x6
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if m.StressKeySize != 0 {
|
|
|
+ dAtA[i] = 0xc8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0xc
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySize))
|
|
|
+ }
|
|
|
+ if m.StressKeySizeLarge != 0 {
|
|
|
+ dAtA[i] = 0xd0
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0xc
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySizeLarge))
|
|
|
+ }
|
|
|
+ if m.StressKeySuffixRange != 0 {
|
|
|
+ dAtA[i] = 0xd8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0xc
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySuffixRange))
|
|
|
+ }
|
|
|
+ if m.StressKeySuffixRangeTxn != 0 {
|
|
|
+ dAtA[i] = 0xe0
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0xc
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.StressKeySuffixRangeTxn))
|
|
|
+ }
|
|
|
+ if m.StressKeyTxnOps != 0 {
|
|
|
+ dAtA[i] = 0xe8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0xc
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.StressKeyTxnOps))
|
|
|
+ }
|
|
|
+ if m.StressClients != 0 {
|
|
|
+ dAtA[i] = 0xe8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.StressClients))
|
|
|
+ }
|
|
|
+ if m.StressQPS != 0 {
|
|
|
+ dAtA[i] = 0xf0
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.StressQPS))
|
|
|
+ }
|
|
|
+ return i, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Etcd) Marshal() (dAtA []byte, err error) {
|
|
|
+ size := m.Size()
|
|
|
+ dAtA = make([]byte, size)
|
|
|
+ n, err := m.MarshalTo(dAtA)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ return dAtA[:n], nil
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Etcd) MarshalTo(dAtA []byte) (int, error) {
|
|
|
+ var i int
|
|
|
+ _ = i
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if len(m.Name) > 0 {
|
|
|
+ dAtA[i] = 0xa
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))
|
|
|
+ i += copy(dAtA[i:], m.Name)
|
|
|
+ }
|
|
|
+ if len(m.DataDir) > 0 {
|
|
|
+ dAtA[i] = 0x12
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.DataDir)))
|
|
|
+ i += copy(dAtA[i:], m.DataDir)
|
|
|
+ }
|
|
|
+ if len(m.WALDir) > 0 {
|
|
|
+ dAtA[i] = 0x1a
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.WALDir)))
|
|
|
+ i += copy(dAtA[i:], m.WALDir)
|
|
|
+ }
|
|
|
+ if m.HeartbeatIntervalMs != 0 {
|
|
|
+ dAtA[i] = 0x58
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.HeartbeatIntervalMs))
|
|
|
+ }
|
|
|
+ if m.ElectionTimeoutMs != 0 {
|
|
|
+ dAtA[i] = 0x60
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.ElectionTimeoutMs))
|
|
|
+ }
|
|
|
+ if len(m.ListenClientURLs) > 0 {
|
|
|
+ for _, s := range m.ListenClientURLs {
|
|
|
+ dAtA[i] = 0xaa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.AdvertiseClientURLs) > 0 {
|
|
|
+ for _, s := range m.AdvertiseClientURLs {
|
|
|
+ dAtA[i] = 0xb2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if m.ClientAutoTLS {
|
|
|
+ dAtA[i] = 0xb8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ if m.ClientAutoTLS {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if m.ClientCertAuth {
|
|
|
+ dAtA[i] = 0xc0
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ if m.ClientCertAuth {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if len(m.ClientCertFile) > 0 {
|
|
|
+ dAtA[i] = 0xca
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientCertFile)))
|
|
|
+ i += copy(dAtA[i:], m.ClientCertFile)
|
|
|
+ }
|
|
|
+ if len(m.ClientKeyFile) > 0 {
|
|
|
+ dAtA[i] = 0xd2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientKeyFile)))
|
|
|
+ i += copy(dAtA[i:], m.ClientKeyFile)
|
|
|
+ }
|
|
|
+ if len(m.ClientTrustedCAFile) > 0 {
|
|
|
+ dAtA[i] = 0xda
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.ClientTrustedCAFile)))
|
|
|
+ i += copy(dAtA[i:], m.ClientTrustedCAFile)
|
|
|
+ }
|
|
|
+ if len(m.ListenPeerURLs) > 0 {
|
|
|
+ for _, s := range m.ListenPeerURLs {
|
|
|
+ dAtA[i] = 0xfa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x1
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.AdvertisePeerURLs) > 0 {
|
|
|
+ for _, s := range m.AdvertisePeerURLs {
|
|
|
+ dAtA[i] = 0x82
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ l = len(s)
|
|
|
+ for l >= 1<<7 {
|
|
|
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
|
|
|
+ l >>= 7
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ dAtA[i] = uint8(l)
|
|
|
+ i++
|
|
|
+ i += copy(dAtA[i:], s)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if m.PeerAutoTLS {
|
|
|
+ dAtA[i] = 0x88
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ if m.PeerAutoTLS {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if m.PeerClientCertAuth {
|
|
|
+ dAtA[i] = 0x90
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ if m.PeerClientCertAuth {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if len(m.PeerCertFile) > 0 {
|
|
|
+ dAtA[i] = 0x9a
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerCertFile)))
|
|
|
+ i += copy(dAtA[i:], m.PeerCertFile)
|
|
|
+ }
|
|
|
+ if len(m.PeerKeyFile) > 0 {
|
|
|
+ dAtA[i] = 0xa2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerKeyFile)))
|
|
|
+ i += copy(dAtA[i:], m.PeerKeyFile)
|
|
|
+ }
|
|
|
+ if len(m.PeerTrustedCAFile) > 0 {
|
|
|
+ dAtA[i] = 0xaa
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.PeerTrustedCAFile)))
|
|
|
+ i += copy(dAtA[i:], m.PeerTrustedCAFile)
|
|
|
+ }
|
|
|
+ if len(m.InitialCluster) > 0 {
|
|
|
+ dAtA[i] = 0xca
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.InitialCluster)))
|
|
|
+ i += copy(dAtA[i:], m.InitialCluster)
|
|
|
+ }
|
|
|
+ if len(m.InitialClusterState) > 0 {
|
|
|
+ dAtA[i] = 0xd2
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.InitialClusterState)))
|
|
|
+ i += copy(dAtA[i:], m.InitialClusterState)
|
|
|
+ }
|
|
|
+ if len(m.InitialClusterToken) > 0 {
|
|
|
+ dAtA[i] = 0xda
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x2
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(len(m.InitialClusterToken)))
|
|
|
+ i += copy(dAtA[i:], m.InitialClusterToken)
|
|
|
+ }
|
|
|
+ if m.SnapshotCount != 0 {
|
|
|
+ dAtA[i] = 0x98
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x3
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.SnapshotCount))
|
|
|
+ }
|
|
|
+ if m.QuotaBackendBytes != 0 {
|
|
|
+ dAtA[i] = 0xa0
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x3
|
|
|
+ i++
|
|
|
+ i = encodeVarintRpc(dAtA, i, uint64(m.QuotaBackendBytes))
|
|
|
+ }
|
|
|
+ if m.PreVote {
|
|
|
+ dAtA[i] = 0xf8
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x3
|
|
|
+ i++
|
|
|
+ if m.PreVote {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ if m.InitialCorruptCheck {
|
|
|
+ dAtA[i] = 0x80
|
|
|
+ i++
|
|
|
+ dAtA[i] = 0x4
|
|
|
+ i++
|
|
|
+ if m.InitialCorruptCheck {
|
|
|
+ dAtA[i] = 1
|
|
|
+ } else {
|
|
|
+ dAtA[i] = 0
|
|
|
+ }
|
|
|
+ i++
|
|
|
+ }
|
|
|
+ return i, nil
|
|
|
+}
|
|
|
+
|
|
|
+func encodeVarintRpc(dAtA []byte, offset int, v uint64) int {
|
|
|
+ for v >= 1<<7 {
|
|
|
+ dAtA[offset] = uint8(v&0x7f | 0x80)
|
|
|
+ v >>= 7
|
|
|
+ offset++
|
|
|
+ }
|
|
|
+ dAtA[offset] = uint8(v)
|
|
|
+ return offset + 1
|
|
|
+}
|
|
|
+func (m *Request) Size() (n int) {
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if m.Operation != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.Operation))
|
|
|
+ }
|
|
|
+ if m.Member != nil {
|
|
|
+ l = m.Member.Size()
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.Tester != nil {
|
|
|
+ l = m.Tester.Size()
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ return n
|
|
|
+}
|
|
|
+
|
|
|
+func (m *SnapshotInfo) Size() (n int) {
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ l = len(m.MemberName)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if len(m.MemberClientURLs) > 0 {
|
|
|
+ for _, s := range m.MemberClientURLs {
|
|
|
+ l = len(s)
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ l = len(m.SnapshotPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.SnapshotFileSize)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.SnapshotTotalSize)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.SnapshotTotalKey != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.SnapshotTotalKey))
|
|
|
+ }
|
|
|
+ if m.SnapshotHash != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.SnapshotHash))
|
|
|
+ }
|
|
|
+ if m.SnapshotRevision != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.SnapshotRevision))
|
|
|
+ }
|
|
|
+ l = len(m.Took)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ return n
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Response) Size() (n int) {
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ if m.Success {
|
|
|
+ n += 2
|
|
|
+ }
|
|
|
+ l = len(m.Status)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.Member != nil {
|
|
|
+ l = m.Member.Size()
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.SnapshotInfo != nil {
|
|
|
+ l = m.SnapshotInfo.Size()
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ return n
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Member) Size() (n int) {
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ l = len(m.EtcdExecPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.AgentAddr)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.FailpointHTTPAddr)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.BaseDir)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.EtcdLogPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.EtcdClientProxy {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ if m.EtcdPeerProxy {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ l = len(m.EtcdClientEndpoint)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.Etcd != nil {
|
|
|
+ l = m.Etcd.Size()
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.EtcdOnSnapshotRestore != nil {
|
|
|
+ l = m.EtcdOnSnapshotRestore.Size()
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientCertData)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientCertPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientKeyData)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientKeyPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientTrustedCAData)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientTrustedCAPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerCertData)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerCertPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerKeyData)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerKeyPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerTrustedCAData)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerTrustedCAPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.SnapshotPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.SnapshotInfo != nil {
|
|
|
+ l = m.SnapshotInfo.Size()
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ return n
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Tester) Size() (n int) {
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ l = len(m.DataDir)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.Network)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.Addr)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.DelayLatencyMs != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.DelayLatencyMs))
|
|
|
+ }
|
|
|
+ if m.DelayLatencyMsRv != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.DelayLatencyMsRv))
|
|
|
+ }
|
|
|
+ if m.UpdatedDelayLatencyMs != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.UpdatedDelayLatencyMs))
|
|
|
+ }
|
|
|
+ if m.RoundLimit != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.RoundLimit))
|
|
|
+ }
|
|
|
+ if m.ExitOnCaseFail {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ if m.EnablePprof {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ if m.CaseDelayMs != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.CaseDelayMs))
|
|
|
+ }
|
|
|
+ if m.CaseShuffle {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ if len(m.Cases) > 0 {
|
|
|
+ for _, s := range m.Cases {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.FailpointCommands) > 0 {
|
|
|
+ for _, s := range m.FailpointCommands {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ l = len(m.RunnerExecPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ExternalExecPath)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if len(m.Stressers) > 0 {
|
|
|
+ for _, s := range m.Stressers {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.Checkers) > 0 {
|
|
|
+ for _, s := range m.Checkers {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if m.StressKeySize != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.StressKeySize))
|
|
|
+ }
|
|
|
+ if m.StressKeySizeLarge != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.StressKeySizeLarge))
|
|
|
+ }
|
|
|
+ if m.StressKeySuffixRange != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.StressKeySuffixRange))
|
|
|
+ }
|
|
|
+ if m.StressKeySuffixRangeTxn != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.StressKeySuffixRangeTxn))
|
|
|
+ }
|
|
|
+ if m.StressKeyTxnOps != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.StressKeyTxnOps))
|
|
|
+ }
|
|
|
+ if m.StressClients != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.StressClients))
|
|
|
+ }
|
|
|
+ if m.StressQPS != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.StressQPS))
|
|
|
+ }
|
|
|
+ return n
|
|
|
+}
|
|
|
+
|
|
|
+func (m *Etcd) Size() (n int) {
|
|
|
+ var l int
|
|
|
+ _ = l
|
|
|
+ l = len(m.Name)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.DataDir)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.WALDir)
|
|
|
+ if l > 0 {
|
|
|
+ n += 1 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.HeartbeatIntervalMs != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.HeartbeatIntervalMs))
|
|
|
+ }
|
|
|
+ if m.ElectionTimeoutMs != 0 {
|
|
|
+ n += 1 + sovRpc(uint64(m.ElectionTimeoutMs))
|
|
|
+ }
|
|
|
+ if len(m.ListenClientURLs) > 0 {
|
|
|
+ for _, s := range m.ListenClientURLs {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.AdvertiseClientURLs) > 0 {
|
|
|
+ for _, s := range m.AdvertiseClientURLs {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if m.ClientAutoTLS {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ if m.ClientCertAuth {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ l = len(m.ClientCertFile)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientKeyFile)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.ClientTrustedCAFile)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if len(m.ListenPeerURLs) > 0 {
|
|
|
+ for _, s := range m.ListenPeerURLs {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(m.AdvertisePeerURLs) > 0 {
|
|
|
+ for _, s := range m.AdvertisePeerURLs {
|
|
|
+ l = len(s)
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if m.PeerAutoTLS {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ if m.PeerClientCertAuth {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ l = len(m.PeerCertFile)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerKeyFile)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.PeerTrustedCAFile)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.InitialCluster)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.InitialClusterState)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ l = len(m.InitialClusterToken)
|
|
|
+ if l > 0 {
|
|
|
+ n += 2 + l + sovRpc(uint64(l))
|
|
|
+ }
|
|
|
+ if m.SnapshotCount != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.SnapshotCount))
|
|
|
+ }
|
|
|
+ if m.QuotaBackendBytes != 0 {
|
|
|
+ n += 2 + sovRpc(uint64(m.QuotaBackendBytes))
|
|
|
+ }
|
|
|
+ if m.PreVote {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ if m.InitialCorruptCheck {
|
|
|
+ n += 3
|
|
|
+ }
|
|
|
+ return n
|
|
|
+}
|
|
|
+
|
|
|
+func sovRpc(x uint64) (n int) {
|
|
|
+ for {
|
|
|
+ n++
|
|
|
+ x >>= 7
|
|
|
+ if x == 0 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return n
|
|
|
+}
|
|
|
+func sozRpc(x uint64) (n int) {
|
|
|
+ return sovRpc(uint64((x << 1) ^ uint64((int64(x) >> 63))))
|
|
|
+}
|
|
|
+func (m *Request) Unmarshal(dAtA []byte) error {
|
|
|
+ l := len(dAtA)
|
|
|
+ iNdEx := 0
|
|
|
+ for iNdEx < l {
|
|
|
+ preIndex := iNdEx
|
|
|
+ var wire uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ wire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fieldNum := int32(wire >> 3)
|
|
|
+ wireType := int(wire & 0x7)
|
|
|
+ if wireType == 4 {
|
|
|
+ return fmt.Errorf("proto: Request: wiretype end group for non-group")
|
|
|
+ }
|
|
|
+ if fieldNum <= 0 {
|
|
|
+ return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
|
+ }
|
|
|
+ switch fieldNum {
|
|
|
+ case 1:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Operation", wireType)
|
|
|
+ }
|
|
|
+ m.Operation = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.Operation |= (Operation(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 2:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Member", wireType)
|
|
|
+ }
|
|
|
+ var msglen int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ msglen |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if msglen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + msglen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ if m.Member == nil {
|
|
|
+ m.Member = &Member{}
|
|
|
+ }
|
|
|
+ if err := m.Member.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 3:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Tester", wireType)
|
|
|
+ }
|
|
|
+ var msglen int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ msglen |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if msglen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + msglen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ if m.Tester == nil {
|
|
|
+ m.Tester = &Tester{}
|
|
|
+ }
|
|
|
+ if err := m.Tester.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ iNdEx = postIndex
|
|
|
+ default:
|
|
|
+ iNdEx = preIndex
|
|
|
+ skippy, err := skipRpc(dAtA[iNdEx:])
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if skippy < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ if (iNdEx + skippy) > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ iNdEx += skippy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if iNdEx > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+func (m *SnapshotInfo) Unmarshal(dAtA []byte) error {
|
|
|
+ l := len(dAtA)
|
|
|
+ iNdEx := 0
|
|
|
+ for iNdEx < l {
|
|
|
+ preIndex := iNdEx
|
|
|
+ var wire uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ wire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fieldNum := int32(wire >> 3)
|
|
|
+ wireType := int(wire & 0x7)
|
|
|
+ if wireType == 4 {
|
|
|
+ return fmt.Errorf("proto: SnapshotInfo: wiretype end group for non-group")
|
|
|
+ }
|
|
|
+ if fieldNum <= 0 {
|
|
|
+ return fmt.Errorf("proto: SnapshotInfo: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
|
+ }
|
|
|
+ switch fieldNum {
|
|
|
+ case 1:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field MemberName", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.MemberName = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 2:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field MemberClientURLs", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.MemberClientURLs = append(m.MemberClientURLs, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 3:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.SnapshotPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 4:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotFileSize", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.SnapshotFileSize = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 5:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotTotalSize", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.SnapshotTotalSize = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 6:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotTotalKey", wireType)
|
|
|
+ }
|
|
|
+ m.SnapshotTotalKey = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.SnapshotTotalKey |= (int64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 7:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotHash", wireType)
|
|
|
+ }
|
|
|
+ m.SnapshotHash = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.SnapshotHash |= (int64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 8:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotRevision", wireType)
|
|
|
+ }
|
|
|
+ m.SnapshotRevision = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.SnapshotRevision |= (int64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 9:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Took", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Took = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ default:
|
|
|
+ iNdEx = preIndex
|
|
|
+ skippy, err := skipRpc(dAtA[iNdEx:])
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if skippy < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ if (iNdEx + skippy) > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ iNdEx += skippy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if iNdEx > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+func (m *Response) Unmarshal(dAtA []byte) error {
|
|
|
+ l := len(dAtA)
|
|
|
+ iNdEx := 0
|
|
|
+ for iNdEx < l {
|
|
|
+ preIndex := iNdEx
|
|
|
+ var wire uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ wire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fieldNum := int32(wire >> 3)
|
|
|
+ wireType := int(wire & 0x7)
|
|
|
+ if wireType == 4 {
|
|
|
+ return fmt.Errorf("proto: Response: wiretype end group for non-group")
|
|
|
+ }
|
|
|
+ if fieldNum <= 0 {
|
|
|
+ return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
|
+ }
|
|
|
+ switch fieldNum {
|
|
|
+ case 1:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.Success = bool(v != 0)
|
|
|
+ case 2:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Status = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 3:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Member", wireType)
|
|
|
+ }
|
|
|
+ var msglen int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ msglen |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if msglen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + msglen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ if m.Member == nil {
|
|
|
+ m.Member = &Member{}
|
|
|
+ }
|
|
|
+ if err := m.Member.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 4:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotInfo", wireType)
|
|
|
+ }
|
|
|
+ var msglen int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ msglen |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if msglen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + msglen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ if m.SnapshotInfo == nil {
|
|
|
+ m.SnapshotInfo = &SnapshotInfo{}
|
|
|
+ }
|
|
|
+ if err := m.SnapshotInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ iNdEx = postIndex
|
|
|
+ default:
|
|
|
+ iNdEx = preIndex
|
|
|
+ skippy, err := skipRpc(dAtA[iNdEx:])
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if skippy < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ if (iNdEx + skippy) > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ iNdEx += skippy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if iNdEx > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+func (m *Member) Unmarshal(dAtA []byte) error {
|
|
|
+ l := len(dAtA)
|
|
|
+ iNdEx := 0
|
|
|
+ for iNdEx < l {
|
|
|
+ preIndex := iNdEx
|
|
|
+ var wire uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ wire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fieldNum := int32(wire >> 3)
|
|
|
+ wireType := int(wire & 0x7)
|
|
|
+ if wireType == 4 {
|
|
|
+ return fmt.Errorf("proto: Member: wiretype end group for non-group")
|
|
|
+ }
|
|
|
+ if fieldNum <= 0 {
|
|
|
+ return fmt.Errorf("proto: Member: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
|
+ }
|
|
|
+ switch fieldNum {
|
|
|
+ case 1:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field EtcdExecPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.EtcdExecPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 11:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field AgentAddr", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.AgentAddr = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 12:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field FailpointHTTPAddr", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.FailpointHTTPAddr = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 101:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field BaseDir", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.BaseDir = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 102:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field EtcdLogPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.EtcdLogPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 201:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field EtcdClientProxy", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.EtcdClientProxy = bool(v != 0)
|
|
|
+ case 202:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field EtcdPeerProxy", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.EtcdPeerProxy = bool(v != 0)
|
|
|
+ case 301:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field EtcdClientEndpoint", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.EtcdClientEndpoint = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 302:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Etcd", wireType)
|
|
|
+ }
|
|
|
+ var msglen int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ msglen |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if msglen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + msglen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ if m.Etcd == nil {
|
|
|
+ m.Etcd = &Etcd{}
|
|
|
+ }
|
|
|
+ if err := m.Etcd.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 303:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field EtcdOnSnapshotRestore", wireType)
|
|
|
+ }
|
|
|
+ var msglen int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ msglen |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if msglen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + msglen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ if m.EtcdOnSnapshotRestore == nil {
|
|
|
+ m.EtcdOnSnapshotRestore = &Etcd{}
|
|
|
+ }
|
|
|
+ if err := m.EtcdOnSnapshotRestore.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 401:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientCertData", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientCertData = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 402:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientCertPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientCertPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 403:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientKeyData", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientKeyData = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 404:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientKeyPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientKeyPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 405:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientTrustedCAData", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientTrustedCAData = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 406:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientTrustedCAPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientTrustedCAPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 501:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerCertData", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerCertData = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 502:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerCertPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerCertPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 503:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerKeyData", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerKeyData = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 504:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerKeyPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerKeyPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 505:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerTrustedCAData", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerTrustedCAData = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 506:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerTrustedCAPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerTrustedCAPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 601:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.SnapshotPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 602:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotInfo", wireType)
|
|
|
+ }
|
|
|
+ var msglen int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ msglen |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if msglen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + msglen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ if m.SnapshotInfo == nil {
|
|
|
+ m.SnapshotInfo = &SnapshotInfo{}
|
|
|
+ }
|
|
|
+ if err := m.SnapshotInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ iNdEx = postIndex
|
|
|
+ default:
|
|
|
+ iNdEx = preIndex
|
|
|
+ skippy, err := skipRpc(dAtA[iNdEx:])
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if skippy < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ if (iNdEx + skippy) > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ iNdEx += skippy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if iNdEx > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+func (m *Tester) Unmarshal(dAtA []byte) error {
|
|
|
+ l := len(dAtA)
|
|
|
+ iNdEx := 0
|
|
|
+ for iNdEx < l {
|
|
|
+ preIndex := iNdEx
|
|
|
+ var wire uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ wire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fieldNum := int32(wire >> 3)
|
|
|
+ wireType := int(wire & 0x7)
|
|
|
+ if wireType == 4 {
|
|
|
+ return fmt.Errorf("proto: Tester: wiretype end group for non-group")
|
|
|
+ }
|
|
|
+ if fieldNum <= 0 {
|
|
|
+ return fmt.Errorf("proto: Tester: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
|
+ }
|
|
|
+ switch fieldNum {
|
|
|
+ case 1:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field DataDir", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.DataDir = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 2:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Network = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 3:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Addr = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 11:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field DelayLatencyMs", wireType)
|
|
|
+ }
|
|
|
+ m.DelayLatencyMs = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.DelayLatencyMs |= (uint32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 12:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field DelayLatencyMsRv", wireType)
|
|
|
+ }
|
|
|
+ m.DelayLatencyMsRv = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.DelayLatencyMsRv |= (uint32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 13:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field UpdatedDelayLatencyMs", wireType)
|
|
|
+ }
|
|
|
+ m.UpdatedDelayLatencyMs = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.UpdatedDelayLatencyMs |= (uint32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 21:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field RoundLimit", wireType)
|
|
|
+ }
|
|
|
+ m.RoundLimit = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.RoundLimit |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 22:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ExitOnCaseFail", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.ExitOnCaseFail = bool(v != 0)
|
|
|
+ case 23:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field EnablePprof", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.EnablePprof = bool(v != 0)
|
|
|
+ case 31:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field CaseDelayMs", wireType)
|
|
|
+ }
|
|
|
+ m.CaseDelayMs = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.CaseDelayMs |= (uint32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 32:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field CaseShuffle", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.CaseShuffle = bool(v != 0)
|
|
|
+ case 33:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Cases", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Cases = append(m.Cases, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 34:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field FailpointCommands", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.FailpointCommands = append(m.FailpointCommands, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 41:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field RunnerExecPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.RunnerExecPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 42:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ExternalExecPath", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ExternalExecPath = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 101:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Stressers", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Stressers = append(m.Stressers, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 102:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Checkers", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Checkers = append(m.Checkers, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 201:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field StressKeySize", wireType)
|
|
|
+ }
|
|
|
+ m.StressKeySize = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.StressKeySize |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 202:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field StressKeySizeLarge", wireType)
|
|
|
+ }
|
|
|
+ m.StressKeySizeLarge = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.StressKeySizeLarge |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 203:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field StressKeySuffixRange", wireType)
|
|
|
+ }
|
|
|
+ m.StressKeySuffixRange = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.StressKeySuffixRange |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 204:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field StressKeySuffixRangeTxn", wireType)
|
|
|
+ }
|
|
|
+ m.StressKeySuffixRangeTxn = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.StressKeySuffixRangeTxn |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 205:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field StressKeyTxnOps", wireType)
|
|
|
+ }
|
|
|
+ m.StressKeyTxnOps = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.StressKeyTxnOps |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 301:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field StressClients", wireType)
|
|
|
+ }
|
|
|
+ m.StressClients = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.StressClients |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 302:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field StressQPS", wireType)
|
|
|
+ }
|
|
|
+ m.StressQPS = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.StressQPS |= (int32(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ iNdEx = preIndex
|
|
|
+ skippy, err := skipRpc(dAtA[iNdEx:])
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if skippy < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ if (iNdEx + skippy) > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ iNdEx += skippy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if iNdEx > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+func (m *Etcd) Unmarshal(dAtA []byte) error {
|
|
|
+ l := len(dAtA)
|
|
|
+ iNdEx := 0
|
|
|
+ for iNdEx < l {
|
|
|
+ preIndex := iNdEx
|
|
|
+ var wire uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ wire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fieldNum := int32(wire >> 3)
|
|
|
+ wireType := int(wire & 0x7)
|
|
|
+ if wireType == 4 {
|
|
|
+ return fmt.Errorf("proto: Etcd: wiretype end group for non-group")
|
|
|
+ }
|
|
|
+ if fieldNum <= 0 {
|
|
|
+ return fmt.Errorf("proto: Etcd: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
|
+ }
|
|
|
+ switch fieldNum {
|
|
|
+ case 1:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.Name = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 2:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field DataDir", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.DataDir = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 3:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field WALDir", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.WALDir = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 11:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field HeartbeatIntervalMs", wireType)
|
|
|
+ }
|
|
|
+ m.HeartbeatIntervalMs = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.HeartbeatIntervalMs |= (int64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 12:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ElectionTimeoutMs", wireType)
|
|
|
+ }
|
|
|
+ m.ElectionTimeoutMs = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.ElectionTimeoutMs |= (int64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 21:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ListenClientURLs", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ListenClientURLs = append(m.ListenClientURLs, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 22:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field AdvertiseClientURLs", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.AdvertiseClientURLs = append(m.AdvertiseClientURLs, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 23:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientAutoTLS", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.ClientAutoTLS = bool(v != 0)
|
|
|
+ case 24:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientCertAuth", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.ClientCertAuth = bool(v != 0)
|
|
|
+ case 25:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientCertFile", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientCertFile = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 26:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientKeyFile", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientKeyFile = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 27:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientTrustedCAFile", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ClientTrustedCAFile = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 31:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field ListenPeerURLs", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.ListenPeerURLs = append(m.ListenPeerURLs, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 32:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field AdvertisePeerURLs", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.AdvertisePeerURLs = append(m.AdvertisePeerURLs, string(dAtA[iNdEx:postIndex]))
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 33:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerAutoTLS", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.PeerAutoTLS = bool(v != 0)
|
|
|
+ case 34:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerClientCertAuth", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.PeerClientCertAuth = bool(v != 0)
|
|
|
+ case 35:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerCertFile", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerCertFile = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 36:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerKeyFile", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerKeyFile = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 37:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PeerTrustedCAFile", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.PeerTrustedCAFile = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 41:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field InitialCluster", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.InitialCluster = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 42:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field InitialClusterState", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.InitialClusterState = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 43:
|
|
|
+ if wireType != 2 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field InitialClusterToken", wireType)
|
|
|
+ }
|
|
|
+ var stringLen uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ stringLen |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ intStringLen := int(stringLen)
|
|
|
+ if intStringLen < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ postIndex := iNdEx + intStringLen
|
|
|
+ if postIndex > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ m.InitialClusterToken = string(dAtA[iNdEx:postIndex])
|
|
|
+ iNdEx = postIndex
|
|
|
+ case 51:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field SnapshotCount", wireType)
|
|
|
+ }
|
|
|
+ m.SnapshotCount = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.SnapshotCount |= (int64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 52:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field QuotaBackendBytes", wireType)
|
|
|
+ }
|
|
|
+ m.QuotaBackendBytes = 0
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ m.QuotaBackendBytes |= (int64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case 63:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field PreVote", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.PreVote = bool(v != 0)
|
|
|
+ case 64:
|
|
|
+ if wireType != 0 {
|
|
|
+ return fmt.Errorf("proto: wrong wireType = %d for field InitialCorruptCheck", wireType)
|
|
|
+ }
|
|
|
+ var v int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ v |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ m.InitialCorruptCheck = bool(v != 0)
|
|
|
+ default:
|
|
|
+ iNdEx = preIndex
|
|
|
+ skippy, err := skipRpc(dAtA[iNdEx:])
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if skippy < 0 {
|
|
|
+ return ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ if (iNdEx + skippy) > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ iNdEx += skippy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if iNdEx > l {
|
|
|
+ return io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+func skipRpc(dAtA []byte) (n int, err error) {
|
|
|
+ l := len(dAtA)
|
|
|
+ iNdEx := 0
|
|
|
+ for iNdEx < l {
|
|
|
+ var wire uint64
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return 0, ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return 0, io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ wire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wireType := int(wire & 0x7)
|
|
|
+ switch wireType {
|
|
|
+ case 0:
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return 0, ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return 0, io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ iNdEx++
|
|
|
+ if dAtA[iNdEx-1] < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return iNdEx, nil
|
|
|
+ case 1:
|
|
|
+ iNdEx += 8
|
|
|
+ return iNdEx, nil
|
|
|
+ case 2:
|
|
|
+ var length int
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return 0, ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return 0, io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ length |= (int(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ iNdEx += length
|
|
|
+ if length < 0 {
|
|
|
+ return 0, ErrInvalidLengthRpc
|
|
|
+ }
|
|
|
+ return iNdEx, nil
|
|
|
+ case 3:
|
|
|
+ for {
|
|
|
+ var innerWire uint64
|
|
|
+ var start int = iNdEx
|
|
|
+ for shift := uint(0); ; shift += 7 {
|
|
|
+ if shift >= 64 {
|
|
|
+ return 0, ErrIntOverflowRpc
|
|
|
+ }
|
|
|
+ if iNdEx >= l {
|
|
|
+ return 0, io.ErrUnexpectedEOF
|
|
|
+ }
|
|
|
+ b := dAtA[iNdEx]
|
|
|
+ iNdEx++
|
|
|
+ innerWire |= (uint64(b) & 0x7F) << shift
|
|
|
+ if b < 0x80 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ innerWireType := int(innerWire & 0x7)
|
|
|
+ if innerWireType == 4 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ next, err := skipRpc(dAtA[start:])
|
|
|
+ if err != nil {
|
|
|
+ return 0, err
|
|
|
+ }
|
|
|
+ iNdEx = start + next
|
|
|
+ }
|
|
|
+ return iNdEx, nil
|
|
|
+ case 4:
|
|
|
+ return iNdEx, nil
|
|
|
+ case 5:
|
|
|
+ iNdEx += 4
|
|
|
+ return iNdEx, nil
|
|
|
+ default:
|
|
|
+ return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ panic("unreachable")
|
|
|
+}
|
|
|
+
|
|
|
+var (
|
|
|
+ ErrInvalidLengthRpc = fmt.Errorf("proto: negative length found during unmarshaling")
|
|
|
+ ErrIntOverflowRpc = fmt.Errorf("proto: integer overflow")
|
|
|
+)
|
|
|
+
|
|
|
+func init() { proto.RegisterFile("rpcpb/rpc.proto", fileDescriptorRpc) }
|
|
|
+
|
|
|
+var fileDescriptorRpc = []byte{
|
|
|
+ // 2808 bytes of a gzipped FileDescriptorProto
|
|
|
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x59, 0xdb, 0x73, 0xdb, 0xc6,
|
|
|
+ 0xf5, 0x16, 0x44, 0x5d, 0x57, 0x37, 0x68, 0x65, 0xd9, 0xf0, 0x4d, 0x90, 0xe1, 0x38, 0x3f, 0x59,
|
|
|
+ 0x09, 0xec, 0xfc, 0xec, 0x4c, 0x2e, 0x4e, 0x13, 0x07, 0xa4, 0x20, 0x8b, 0x15, 0x44, 0xd2, 0x4b,
|
|
|
+ 0xc8, 0x76, 0x9e, 0x38, 0x10, 0xb9, 0x92, 0x30, 0xa6, 0x00, 0x06, 0x58, 0x2a, 0x52, 0xfe, 0x81,
|
|
|
+ 0xbe, 0xf6, 0x3e, 0xed, 0x4c, 0x9f, 0xfa, 0xdc, 0xb4, 0xff, 0x86, 0x73, 0x6b, 0xd3, 0xf6, 0xa9,
|
|
|
+ 0xed, 0x0c, 0xa7, 0x4d, 0x5f, 0xfa, 0xd4, 0x07, 0x4e, 0x6f, 0xe9, 0x53, 0x67, 0x77, 0x01, 0x71,
|
|
|
+ 0x01, 0x90, 0x92, 0x9e, 0xa4, 0x3d, 0xe7, 0xfb, 0xbe, 0x3d, 0xbb, 0x67, 0xb1, 0xe7, 0x00, 0x04,
|
|
|
+ 0x73, 0x41, 0xab, 0xde, 0xda, 0xb9, 0x1b, 0xb4, 0xea, 0x77, 0x5a, 0x81, 0x4f, 0x7c, 0x38, 0xca,
|
|
|
+ 0x0c, 0x57, 0xf4, 0x3d, 0x97, 0xec, 0xb7, 0x77, 0xee, 0xd4, 0xfd, 0x83, 0xbb, 0x7b, 0xfe, 0x9e,
|
|
|
+ 0x7f, 0x97, 0x79, 0x77, 0xda, 0xbb, 0x6c, 0xc4, 0x06, 0xec, 0x3f, 0xce, 0xd2, 0xbe, 0x23, 0x81,
|
|
|
+ 0x71, 0x84, 0x3f, 0x6c, 0xe3, 0x90, 0xc0, 0x3b, 0x60, 0xb2, 0xdc, 0xc2, 0x81, 0x43, 0x5c, 0xdf,
|
|
|
+ 0x53, 0xa4, 0x65, 0x69, 0x65, 0xf6, 0x9e, 0x7c, 0x87, 0xa9, 0xde, 0x39, 0xb1, 0xa3, 0x1e, 0x04,
|
|
|
+ 0xde, 0x02, 0x63, 0x5b, 0xf8, 0x60, 0x07, 0x07, 0xca, 0xf0, 0xb2, 0xb4, 0x32, 0x75, 0x6f, 0x26,
|
|
|
+ 0x02, 0x73, 0x23, 0x8a, 0x9c, 0x14, 0x66, 0xe3, 0x90, 0xe0, 0x40, 0xc9, 0x25, 0x60, 0xdc, 0x88,
|
|
|
+ 0x22, 0xa7, 0xf6, 0xb7, 0x61, 0x30, 0x5d, 0xf5, 0x9c, 0x56, 0xb8, 0xef, 0x93, 0xa2, 0xb7, 0xeb,
|
|
|
+ 0xc3, 0x25, 0x00, 0xb8, 0x42, 0xc9, 0x39, 0xc0, 0x2c, 0x9e, 0x49, 0x24, 0x58, 0xe0, 0x2a, 0x90,
|
|
|
+ 0xf9, 0xa8, 0xd0, 0x74, 0xb1, 0x47, 0xb6, 0x91, 0x15, 0x2a, 0xc3, 0xcb, 0xb9, 0x95, 0x49, 0x94,
|
|
|
+ 0xb1, 0x43, 0xad, 0xa7, 0x5d, 0x71, 0xc8, 0x3e, 0x8b, 0x64, 0x12, 0x25, 0x6c, 0x54, 0x2f, 0x1e,
|
|
|
+ 0xaf, 0xbb, 0x4d, 0x5c, 0x75, 0x3f, 0xc6, 0xca, 0x08, 0xc3, 0x65, 0xec, 0xf0, 0x55, 0x30, 0x1f,
|
|
|
+ 0xdb, 0x6c, 0x9f, 0x38, 0x4d, 0x06, 0x1e, 0x65, 0xe0, 0xac, 0x43, 0x54, 0x66, 0xc6, 0x4d, 0x7c,
|
|
|
+ 0xac, 0x8c, 0x2d, 0x4b, 0x2b, 0x39, 0x94, 0xb1, 0x8b, 0x91, 0x6e, 0x38, 0xe1, 0xbe, 0x32, 0xce,
|
|
|
+ 0x70, 0x09, 0x9b, 0xa8, 0x87, 0xf0, 0xa1, 0x1b, 0xd2, 0x7c, 0x4d, 0x24, 0xf5, 0x62, 0x3b, 0x84,
|
|
|
+ 0x60, 0xc4, 0xf6, 0xfd, 0xe7, 0xca, 0x24, 0x0b, 0x8e, 0xfd, 0xaf, 0xfd, 0x4c, 0x02, 0x13, 0x08,
|
|
|
+ 0x87, 0x2d, 0xdf, 0x0b, 0x31, 0x54, 0xc0, 0x78, 0xb5, 0x5d, 0xaf, 0xe3, 0x30, 0x64, 0x7b, 0x3c,
|
|
|
+ 0x81, 0xe2, 0x21, 0xbc, 0x08, 0xc6, 0xaa, 0xc4, 0x21, 0xed, 0x90, 0xe5, 0x77, 0x12, 0x45, 0x23,
|
|
|
+ 0x21, 0xef, 0xb9, 0xd3, 0xf2, 0xfe, 0x66, 0x32, 0x9f, 0x6c, 0x2f, 0xa7, 0xee, 0x2d, 0x44, 0x60,
|
|
|
+ 0xd1, 0x85, 0x12, 0x40, 0xed, 0x4f, 0xd3, 0xf1, 0x04, 0xf0, 0x5d, 0x30, 0x6d, 0x92, 0x7a, 0xc3,
|
|
|
+ 0x3c, 0xc2, 0x75, 0x96, 0x37, 0x76, 0x0a, 0xf2, 0x97, 0xbb, 0x1d, 0x75, 0xf1, 0xd8, 0x39, 0x68,
|
|
|
+ 0x3e, 0xd0, 0x30, 0xa9, 0x37, 0x74, 0x7c, 0x84, 0xeb, 0x7a, 0xcb, 0x21, 0xfb, 0x1a, 0x4a, 0xc0,
|
|
|
+ 0xe1, 0x7d, 0x30, 0x69, 0xec, 0x61, 0x8f, 0x18, 0x8d, 0x46, 0xa0, 0x4c, 0x31, 0xee, 0x62, 0xb7,
|
|
|
+ 0xa3, 0xce, 0x73, 0xae, 0x43, 0x5d, 0xba, 0xd3, 0x68, 0x04, 0x1a, 0xea, 0xe1, 0xa0, 0x05, 0xe6,
|
|
|
+ 0xd7, 0x1d, 0xb7, 0xd9, 0xf2, 0x5d, 0x8f, 0x6c, 0xd8, 0x76, 0x85, 0x91, 0xa7, 0x19, 0x79, 0xa9,
|
|
|
+ 0xdb, 0x51, 0xaf, 0x70, 0xf2, 0x6e, 0x0c, 0xd1, 0xf7, 0x09, 0x69, 0x45, 0x2a, 0x59, 0x22, 0xd4,
|
|
|
+ 0xc1, 0x78, 0xde, 0x09, 0xf1, 0x9a, 0x1b, 0x28, 0x98, 0x69, 0x2c, 0x74, 0x3b, 0xea, 0x1c, 0xd7,
|
|
|
+ 0xd8, 0x71, 0x42, 0xac, 0x37, 0xdc, 0x40, 0x43, 0x31, 0x06, 0x3e, 0x00, 0x53, 0x74, 0x05, 0x96,
|
|
|
+ 0xbf, 0xc7, 0xd6, 0xbb, 0xcb, 0x28, 0x4a, 0xb7, 0xa3, 0x5e, 0x10, 0xd6, 0xdb, 0xf4, 0xf7, 0xa2,
|
|
|
+ 0xe5, 0x8a, 0x60, 0xf8, 0x08, 0xcc, 0xd1, 0x21, 0x3f, 0xf6, 0x95, 0xc0, 0x3f, 0x3a, 0x56, 0x3e,
|
|
|
+ 0x65, 0x29, 0xcd, 0x5f, 0xeb, 0x76, 0x54, 0x45, 0x10, 0xa8, 0x33, 0x88, 0xde, 0xa2, 0x18, 0x0d,
|
|
|
+ 0xa5, 0x59, 0xd0, 0x00, 0x33, 0xd4, 0x54, 0xc1, 0x38, 0xe0, 0x32, 0x9f, 0x71, 0x99, 0x2b, 0xdd,
|
|
|
+ 0x8e, 0x7a, 0x51, 0x90, 0x69, 0x61, 0x1c, 0xc4, 0x22, 0x49, 0x06, 0xac, 0x00, 0xd8, 0x53, 0x35,
|
|
|
+ 0xbd, 0x06, 0xdb, 0x14, 0xe5, 0x13, 0x76, 0x90, 0xf2, 0x6a, 0xb7, 0xa3, 0x5e, 0xcd, 0x86, 0x83,
|
|
|
+ 0x23, 0x98, 0x86, 0xfa, 0x70, 0xe1, 0xff, 0x83, 0x11, 0x6a, 0x55, 0x7e, 0xc9, 0x2f, 0x9b, 0xa9,
|
|
|
+ 0xe8, 0x1c, 0x51, 0x5b, 0x7e, 0xae, 0xdb, 0x51, 0xa7, 0x7a, 0x82, 0x1a, 0x62, 0x50, 0x98, 0x07,
|
|
|
+ 0x8b, 0xf4, 0x6f, 0xd9, 0xeb, 0x3d, 0x15, 0x21, 0xf1, 0x03, 0xac, 0xfc, 0x2a, 0xab, 0x81, 0xfa,
|
|
|
+ 0x43, 0xe1, 0x1a, 0x98, 0xe5, 0x81, 0x14, 0x70, 0x40, 0xd6, 0x1c, 0xe2, 0x28, 0xdf, 0x63, 0x97,
|
|
|
+ 0x47, 0xfe, 0x6a, 0xb7, 0xa3, 0x5e, 0xe2, 0x73, 0x46, 0xf1, 0xd7, 0x71, 0x40, 0xf4, 0x86, 0x43,
|
|
|
+ 0x1c, 0x0d, 0xa5, 0x38, 0x49, 0x15, 0x96, 0xd9, 0xef, 0x9f, 0xaa, 0xc2, 0xb3, 0x9b, 0xe2, 0xd0,
|
|
|
+ 0xbc, 0x70, 0xcb, 0x26, 0x3e, 0x66, 0xa1, 0xfc, 0x80, 0x8b, 0x08, 0x79, 0x89, 0x44, 0x9e, 0xe3,
|
|
|
+ 0xe3, 0x28, 0x92, 0x24, 0x23, 0x21, 0xc1, 0xe2, 0xf8, 0xe1, 0x69, 0x12, 0x3c, 0x8c, 0x24, 0x03,
|
|
|
+ 0xda, 0x60, 0x81, 0x1b, 0xec, 0xa0, 0x1d, 0x12, 0xdc, 0x28, 0x18, 0x2c, 0x96, 0x1f, 0x71, 0xa1,
|
|
|
+ 0x1b, 0xdd, 0x8e, 0x7a, 0x3d, 0x21, 0x44, 0x38, 0x4c, 0xaf, 0x3b, 0x51, 0x48, 0xfd, 0xe8, 0x7d,
|
|
|
+ 0x54, 0x59, 0x78, 0x3f, 0x3e, 0x87, 0x2a, 0x8f, 0xb2, 0x1f, 0x1d, 0xbe, 0x07, 0xa6, 0xe9, 0x99,
|
|
|
+ 0x3c, 0xc9, 0xdd, 0x3f, 0x73, 0xe9, 0x0b, 0x84, 0x9d, 0x61, 0x21, 0x73, 0x09, 0xbc, 0xc8, 0x67,
|
|
|
+ 0xe1, 0xfc, 0xeb, 0x14, 0x7e, 0x74, 0x01, 0x89, 0x78, 0xf8, 0x0e, 0x98, 0xa2, 0xe3, 0x38, 0x5f,
|
|
|
+ 0xff, 0xce, 0xa5, 0x9f, 0x67, 0x46, 0xef, 0x65, 0x4b, 0x44, 0x0b, 0x64, 0x36, 0xf7, 0x7f, 0x06,
|
|
|
+ 0x93, 0xa3, 0xcb, 0x40, 0x40, 0xc3, 0x12, 0x98, 0xa7, 0xc3, 0x64, 0x8e, 0xbe, 0xc9, 0xa5, 0x9f,
|
|
|
+ 0x3f, 0x26, 0x91, 0xc9, 0x50, 0x96, 0x9a, 0xd1, 0x63, 0x21, 0xfd, 0xf7, 0x4c, 0x3d, 0x1e, 0x59,
|
|
|
+ 0x96, 0x4a, 0x6f, 0xf6, 0x44, 0x45, 0xfe, 0xc3, 0x48, 0x7a, 0x75, 0x61, 0xe4, 0x8e, 0x37, 0x36,
|
|
|
+ 0x51, 0xac, 0xdf, 0x4a, 0x15, 0x97, 0x3f, 0x9e, 0xbb, 0xba, 0xfc, 0x7c, 0x3a, 0xee, 0x47, 0xe8,
|
|
|
+ 0xdd, 0x4c, 0xd7, 0x46, 0xef, 0x66, 0x29, 0x7d, 0x37, 0xd3, 0x8d, 0x88, 0xee, 0xe6, 0x08, 0x03,
|
|
|
+ 0x5f, 0x05, 0xe3, 0x25, 0x4c, 0x3e, 0xf2, 0x83, 0xe7, 0xbc, 0x20, 0xe6, 0x61, 0xb7, 0xa3, 0xce,
|
|
|
+ 0x72, 0xb8, 0xc7, 0x1d, 0x1a, 0x8a, 0x21, 0xf0, 0x26, 0x18, 0x61, 0x95, 0x83, 0x6f, 0x91, 0x70,
|
|
|
+ 0x43, 0xf1, 0x52, 0xc1, 0x9c, 0xb0, 0x00, 0x66, 0xd7, 0x70, 0xd3, 0x39, 0xb6, 0x1c, 0x82, 0xbd,
|
|
|
+ 0xfa, 0xf1, 0x56, 0xc8, 0xaa, 0xd4, 0x8c, 0x78, 0x2d, 0x34, 0xa8, 0x5f, 0x6f, 0x72, 0x80, 0x7e,
|
|
|
+ 0x10, 0x6a, 0x28, 0x45, 0x81, 0xdf, 0x06, 0x72, 0xd2, 0x82, 0x0e, 0x59, 0xbd, 0x9a, 0x11, 0xeb,
|
|
|
+ 0x55, 0x5a, 0x46, 0x0f, 0x0e, 0x35, 0x94, 0xe1, 0xc1, 0x0f, 0xc0, 0xe2, 0x76, 0xab, 0xe1, 0x10,
|
|
|
+ 0xdc, 0x48, 0xc5, 0x35, 0xc3, 0x04, 0x6f, 0x76, 0x3b, 0xaa, 0xca, 0x05, 0xdb, 0x1c, 0xa6, 0x67,
|
|
|
+ 0xe3, 0xeb, 0xaf, 0x00, 0xdf, 0x00, 0x00, 0xf9, 0x6d, 0xaf, 0x61, 0xb9, 0x07, 0x2e, 0x51, 0x16,
|
|
|
+ 0x97, 0xa5, 0x95, 0xd1, 0xfc, 0xc5, 0x6e, 0x47, 0x85, 0x5c, 0x2f, 0xa0, 0x3e, 0xbd, 0x49, 0x9d,
|
|
|
+ 0x1a, 0x12, 0x90, 0x30, 0x0f, 0x66, 0xcd, 0x23, 0x97, 0x94, 0xbd, 0x82, 0x13, 0x62, 0x5a, 0x60,
|
|
|
+ 0x95, 0x8b, 0x99, 0x6a, 0x74, 0xe4, 0x12, 0xdd, 0xf7, 0x74, 0x5a, 0x94, 0xdb, 0x01, 0xd6, 0x50,
|
|
|
+ 0x8a, 0x01, 0xdf, 0x06, 0x53, 0xa6, 0xe7, 0xec, 0x34, 0x71, 0xa5, 0x15, 0xf8, 0xbb, 0xca, 0x25,
|
|
|
+ 0x26, 0x70, 0xa9, 0xdb, 0x51, 0x17, 0x22, 0x01, 0xe6, 0xd4, 0x5b, 0xd4, 0x4b, 0xab, 0x6a, 0x0f,
|
|
|
+ 0x4b, 0x2b, 0x32, 0x95, 0x61, 0x8b, 0xd9, 0x0a, 0x15, 0x95, 0xed, 0x83, 0x70, 0x4c, 0xeb, 0xac,
|
|
|
+ 0x88, 0xb3, 0x4d, 0xa0, 0x8b, 0x17, 0xc1, 0x74, 0x5a, 0x3a, 0xac, 0xee, 0xb7, 0x77, 0x77, 0x9b,
|
|
|
+ 0x58, 0x59, 0x4e, 0x4f, 0xcb, 0xb8, 0x21, 0xf7, 0x46, 0xd4, 0x08, 0x0b, 0x5f, 0x06, 0xa3, 0x74,
|
|
|
+ 0x18, 0x2a, 0x37, 0x68, 0x4b, 0x9b, 0x97, 0xbb, 0x1d, 0x75, 0xba, 0x47, 0x0a, 0x35, 0xc4, 0xdd,
|
|
|
+ 0x70, 0x53, 0xe8, 0x56, 0x0a, 0xfe, 0xc1, 0x81, 0xe3, 0x35, 0x42, 0x45, 0x63, 0x9c, 0xeb, 0xdd,
|
|
|
+ 0x8e, 0x7a, 0x39, 0xdd, 0xad, 0xd4, 0x23, 0x8c, 0xd8, 0xac, 0xc4, 0x3c, 0x7a, 0x1c, 0x51, 0xdb,
|
|
|
+ 0xf3, 0x70, 0x70, 0xd2, 0x70, 0xdd, 0x4e, 0x57, 0xa9, 0x80, 0xf9, 0xc5, 0x96, 0x2b, 0x45, 0x81,
|
|
|
+ 0x45, 0x20, 0x9b, 0x47, 0x04, 0x07, 0x9e, 0xd3, 0x3c, 0x91, 0x59, 0x65, 0x32, 0x42, 0x40, 0x38,
|
|
|
+ 0x42, 0x88, 0x42, 0x19, 0x1a, 0xbc, 0x07, 0x26, 0xab, 0x24, 0xc0, 0x61, 0x88, 0x83, 0x50, 0xc1,
|
|
|
+ 0x6c, 0x51, 0x17, 0xba, 0x1d, 0x55, 0x8e, 0x2e, 0x88, 0xd8, 0xa5, 0xa1, 0x1e, 0x0c, 0xde, 0x05,
|
|
|
+ 0x13, 0x85, 0x7d, 0x5c, 0x7f, 0x4e, 0x29, 0xbb, 0x8c, 0x22, 0x3c, 0xd5, 0xf5, 0xc8, 0xa3, 0xa1,
|
|
|
+ 0x13, 0x10, 0x2d, 0x89, 0x9c, 0xbd, 0x89, 0x8f, 0x59, 0x1f, 0xcf, 0x9a, 0xa6, 0x51, 0xf1, 0x7c,
|
|
|
+ 0xf1, 0x99, 0xd8, 0x55, 0x1b, 0xba, 0x1f, 0x63, 0x0d, 0x25, 0x19, 0xf0, 0x31, 0x80, 0x09, 0x83,
|
|
|
+ 0xe5, 0x04, 0x7b, 0x98, 0x77, 0x4d, 0xa3, 0xf9, 0xe5, 0x6e, 0x47, 0xbd, 0xd6, 0x57, 0x47, 0x6f,
|
|
|
+ 0x52, 0x9c, 0x86, 0xfa, 0x90, 0xe1, 0x53, 0x70, 0xa1, 0x67, 0x6d, 0xef, 0xee, 0xba, 0x47, 0xc8,
|
|
|
+ 0xf1, 0xf6, 0xb0, 0xf2, 0x39, 0x17, 0xd5, 0xba, 0x1d, 0x75, 0x29, 0x2b, 0xca, 0x80, 0x7a, 0x40,
|
|
|
+ 0x91, 0x1a, 0xea, 0x2b, 0x00, 0x1d, 0x70, 0xa9, 0x9f, 0xdd, 0x3e, 0xf2, 0x94, 0x2f, 0xb8, 0xf6,
|
|
|
+ 0xcb, 0xdd, 0x8e, 0xaa, 0x9d, 0xaa, 0xad, 0x93, 0x23, 0x4f, 0x43, 0x83, 0x74, 0xe0, 0x06, 0x98,
|
|
|
+ 0x3b, 0x71, 0xd9, 0x47, 0x5e, 0xb9, 0x15, 0x2a, 0x5f, 0x72, 0x69, 0xe1, 0x04, 0x08, 0xd2, 0xe4,
|
|
|
+ 0xc8, 0xd3, 0xfd, 0x56, 0xa8, 0xa1, 0x34, 0x0d, 0xbe, 0x1f, 0xe7, 0x86, 0x17, 0xf7, 0x90, 0x77,
|
|
|
+ 0x90, 0xa3, 0x62, 0x01, 0x8e, 0x74, 0x78, 0x5b, 0x10, 0x9e, 0xa4, 0x26, 0x22, 0xc0, 0xd7, 0xe3,
|
|
|
+ 0x23, 0xf4, 0xb8, 0x52, 0xe5, 0xbd, 0xe3, 0xa8, 0xf8, 0x0e, 0x10, 0xb1, 0x3f, 0x6c, 0xf5, 0x0e,
|
|
|
+ 0xd1, 0xe3, 0x4a, 0x55, 0xfb, 0x66, 0x86, 0x77, 0x9b, 0xf4, 0x16, 0xef, 0xbd, 0x7e, 0x8a, 0xb7,
|
|
|
+ 0xb8, 0xe7, 0x1c, 0x60, 0x0d, 0x31, 0xa7, 0x58, 0x47, 0x86, 0xcf, 0x51, 0x47, 0x56, 0xc1, 0xd8,
|
|
|
+ 0x53, 0xc3, 0xa2, 0xe8, 0x5c, 0xba, 0x8c, 0x7c, 0xe4, 0x34, 0x39, 0x38, 0x42, 0xc0, 0x32, 0x58,
|
|
|
+ 0xd8, 0xc0, 0x4e, 0x40, 0x76, 0xb0, 0x43, 0x8a, 0x1e, 0xc1, 0xc1, 0xa1, 0xd3, 0x8c, 0xaa, 0x44,
|
|
|
+ 0x4e, 0xdc, 0xcd, 0xfd, 0x18, 0xa4, 0xbb, 0x11, 0x4a, 0x43, 0xfd, 0x98, 0xb0, 0x08, 0xe6, 0xcd,
|
|
|
+ 0x26, 0xae, 0xd3, 0x17, 0x78, 0xdb, 0x3d, 0xc0, 0x7e, 0x9b, 0x6c, 0x85, 0xac, 0x5a, 0xe4, 0xc4,
|
|
|
+ 0xa7, 0x1c, 0x47, 0x10, 0x9d, 0x70, 0x8c, 0x86, 0xb2, 0x2c, 0xfa, 0xa0, 0x5b, 0x6e, 0x48, 0xb0,
|
|
|
+ 0x27, 0xbc, 0x80, 0x2f, 0xa6, 0x6f, 0x9e, 0x26, 0x43, 0xc4, 0x2d, 0x7e, 0x3b, 0x68, 0x86, 0x1a,
|
|
|
+ 0xca, 0xd0, 0x20, 0x02, 0x0b, 0x46, 0xe3, 0x10, 0x07, 0xc4, 0x0d, 0xb1, 0xa0, 0x76, 0x91, 0xa9,
|
|
|
+ 0x09, 0x0f, 0x90, 0x13, 0x83, 0x92, 0x82, 0xfd, 0xc8, 0xf0, 0xed, 0xb8, 0xd5, 0x35, 0xda, 0xc4,
|
|
|
+ 0xb7, 0xad, 0x6a, 0x74, 0xeb, 0x0b, 0xb9, 0x71, 0xda, 0xc4, 0xd7, 0x09, 0x15, 0x48, 0x22, 0xe9,
|
|
|
+ 0x3d, 0xd8, 0x6b, 0xbd, 0x8d, 0x36, 0xd9, 0x57, 0x14, 0xc6, 0x1d, 0xd0, 0xad, 0x3b, 0xed, 0x54,
|
|
|
+ 0xb7, 0x4e, 0x29, 0xf0, 0x5b, 0xa2, 0xc8, 0xba, 0xdb, 0xc4, 0xca, 0x65, 0x96, 0x6e, 0xe1, 0x06,
|
|
|
+ 0x63, 0xec, 0x5d, 0x97, 0x5e, 0xfe, 0x29, 0x6c, 0x2f, 0xfa, 0x4d, 0x7c, 0xcc, 0xc8, 0x57, 0xd2,
|
|
|
+ 0x27, 0x8b, 0x3e, 0x39, 0x9c, 0x9b, 0x44, 0x42, 0x2b, 0xd3, 0x4a, 0x33, 0x81, 0xab, 0xe9, 0x46,
|
|
|
+ 0x5f, 0x68, 0xd3, 0xb8, 0x4e, 0x3f, 0x1a, 0xdd, 0x0b, 0x9e, 0x2e, 0xda, 0xc3, 0xb1, 0xac, 0xa8,
|
|
|
+ 0x2c, 0x2b, 0xc2, 0x5e, 0x44, 0x39, 0x66, 0xbd, 0x1f, 0x4f, 0x48, 0x8a, 0x02, 0x6d, 0x30, 0x7f,
|
|
|
+ 0x92, 0xa2, 0x13, 0x9d, 0x65, 0xa6, 0x23, 0xdc, 0x36, 0xae, 0xe7, 0x12, 0xd7, 0x69, 0xea, 0xbd,
|
|
|
+ 0x2c, 0x0b, 0x92, 0x59, 0x01, 0x5a, 0x9a, 0xe9, 0xff, 0x71, 0x7e, 0x6f, 0xb0, 0x1c, 0xa5, 0xfb,
|
|
|
+ 0xe3, 0x5e, 0x92, 0x45, 0x30, 0x7d, 0x41, 0x65, 0x9d, 0x7a, 0x32, 0xcd, 0x1a, 0x93, 0x10, 0x0e,
|
|
|
+ 0x1c, 0x6f, 0xef, 0x33, 0xb9, 0xee, 0xc3, 0xa5, 0x1d, 0x6d, 0xdc, 0xfb, 0xb3, 0xfd, 0xbe, 0x39,
|
|
|
+ 0xf8, 0x55, 0x81, 0x6f, 0x77, 0x02, 0x1e, 0x2f, 0x26, 0x4e, 0xf7, 0x4b, 0x03, 0x9b, 0x7d, 0x4e,
|
|
|
+ 0x16, 0xc1, 0x70, 0x2b, 0xd5, 0x9c, 0x33, 0x85, 0x5b, 0x67, 0xf5, 0xe6, 0x5c, 0x28, 0xcb, 0xa4,
|
|
|
+ 0x1d, 0x57, 0x91, 0xa7, 0xa2, 0xd0, 0x6c, 0xb3, 0x2f, 0x77, 0xb7, 0xd3, 0x67, 0x27, 0x4e, 0x55,
|
|
|
+ 0x9d, 0x03, 0x34, 0x94, 0x62, 0xd0, 0x27, 0x3a, 0x69, 0xa9, 0x12, 0x87, 0xe0, 0xa8, 0x11, 0x10,
|
|
|
+ 0x36, 0x38, 0x25, 0xa4, 0x87, 0x14, 0xa6, 0xa1, 0x7e, 0xe4, 0xac, 0xa6, 0xed, 0x3f, 0xc7, 0x9e,
|
|
|
+ 0xf2, 0xca, 0x59, 0x9a, 0x84, 0xc2, 0x32, 0x9a, 0x8c, 0x0c, 0x1f, 0x82, 0x99, 0xf8, 0xf5, 0xa0,
|
|
|
+ 0xe0, 0xb7, 0x3d, 0xa2, 0xdc, 0x67, 0x77, 0xa1, 0x58, 0x60, 0xe2, 0xf7, 0x90, 0x3a, 0xf5, 0xd3,
|
|
|
+ 0x02, 0x23, 0xe2, 0xa1, 0x05, 0xe6, 0x1f, 0xb7, 0x7d, 0xe2, 0xe4, 0x9d, 0xfa, 0x73, 0xec, 0x35,
|
|
|
+ 0xf2, 0xc7, 0x04, 0x87, 0xca, 0xeb, 0x4c, 0x44, 0x68, 0xbf, 0x3f, 0xa4, 0x10, 0x7d, 0x87, 0x63,
|
|
|
+ 0xf4, 0x1d, 0x0a, 0xd2, 0x50, 0x96, 0x48, 0x4b, 0x49, 0x25, 0xc0, 0x4f, 0x7c, 0x82, 0x95, 0x87,
|
|
|
+ 0xe9, 0xeb, 0xaa, 0x15, 0x60, 0xfd, 0xd0, 0xa7, 0xbb, 0x13, 0x63, 0xc4, 0x1d, 0xf1, 0x83, 0xa0,
|
|
|
+ 0xdd, 0x22, 0xac, 0xab, 0x51, 0xde, 0x4f, 0x1f, 0xe3, 0x93, 0x1d, 0xe1, 0x28, 0x9d, 0xf5, 0x41,
|
|
|
+ 0xc2, 0x8e, 0x08, 0xe4, 0xd5, 0x9f, 0xe6, 0x84, 0xef, 0xc0, 0x70, 0x0e, 0x4c, 0x95, 0xca, 0x76,
|
|
|
+ 0xad, 0x6a, 0x1b, 0xc8, 0x36, 0xd7, 0xe4, 0x21, 0x78, 0x11, 0xc0, 0x62, 0xa9, 0x68, 0x17, 0x0d,
|
|
|
+ 0x8b, 0x1b, 0x6b, 0xa6, 0x5d, 0x58, 0x93, 0x01, 0x94, 0xc1, 0x34, 0x32, 0x05, 0xcb, 0x14, 0xb5,
|
|
|
+ 0x54, 0x8b, 0x8f, 0x6c, 0x13, 0x6d, 0x71, 0xcb, 0x05, 0xb8, 0x0c, 0xae, 0x55, 0x8b, 0x8f, 0x1e,
|
|
|
+ 0x6f, 0x17, 0x39, 0xa6, 0x66, 0x94, 0xd6, 0x6a, 0xc8, 0xdc, 0x2a, 0x3f, 0x31, 0x6b, 0x6b, 0x86,
|
|
|
+ 0x6d, 0xc8, 0x8b, 0x70, 0x1e, 0xcc, 0x54, 0x8d, 0x27, 0x66, 0xad, 0x5a, 0x32, 0x2a, 0xd5, 0x8d,
|
|
|
+ 0xb2, 0x2d, 0x2f, 0xc1, 0x1b, 0xe0, 0x3a, 0x15, 0x2e, 0x23, 0xb3, 0x16, 0x4f, 0xb0, 0x8e, 0xca,
|
|
|
+ 0x5b, 0x3d, 0x88, 0x0a, 0x2f, 0x83, 0xc5, 0xfe, 0xae, 0x65, 0xca, 0xce, 0x4c, 0x69, 0xa0, 0xc2,
|
|
|
+ 0x46, 0x31, 0x9e, 0x73, 0x05, 0xde, 0x05, 0xaf, 0x9c, 0x16, 0x15, 0x1b, 0x57, 0xed, 0x72, 0xa5,
|
|
|
+ 0x66, 0x3c, 0x32, 0x4b, 0xb6, 0x7c, 0x1b, 0x5e, 0x07, 0x97, 0xf3, 0x96, 0x51, 0xd8, 0xdc, 0x28,
|
|
|
+ 0x5b, 0x66, 0xad, 0x62, 0x9a, 0xa8, 0x56, 0x29, 0x23, 0xbb, 0x66, 0x3f, 0xab, 0xa1, 0x67, 0x72,
|
|
|
+ 0x03, 0xaa, 0xe0, 0xea, 0x76, 0x69, 0x30, 0x00, 0xc3, 0x2b, 0x60, 0x71, 0xcd, 0xb4, 0x8c, 0x0f,
|
|
|
+ 0x32, 0xae, 0x17, 0x12, 0xbc, 0x06, 0x2e, 0x6d, 0x97, 0xfa, 0x7b, 0x3f, 0x95, 0x56, 0xff, 0x0e,
|
|
|
+ 0xc0, 0x08, 0xed, 0xfb, 0xa1, 0x02, 0x2e, 0xc4, 0x7b, 0x5b, 0x2e, 0x99, 0xb5, 0xf5, 0xb2, 0x65,
|
|
|
+ 0x95, 0x9f, 0x9a, 0x48, 0x1e, 0x8a, 0x56, 0x93, 0xf1, 0xd4, 0xb6, 0x4b, 0x76, 0xd1, 0xaa, 0xd9,
|
|
|
+ 0xa8, 0xf8, 0xe8, 0x91, 0x89, 0x7a, 0x3b, 0x24, 0x41, 0x08, 0x66, 0x63, 0x82, 0x65, 0x1a, 0x6b,
|
|
|
+ 0x26, 0x92, 0x87, 0xe1, 0x6d, 0x70, 0x2b, 0x69, 0x1b, 0x44, 0xcf, 0x89, 0xf4, 0xc7, 0xdb, 0x65,
|
|
|
+ 0xb4, 0xbd, 0x25, 0x8f, 0xd0, 0x43, 0x13, 0xdb, 0x0c, 0xcb, 0x92, 0x47, 0xe1, 0x4d, 0xa0, 0xc6,
|
|
|
+ 0x5b, 0x2c, 0xec, 0x6e, 0x22, 0x72, 0x00, 0x1f, 0x80, 0x37, 0xce, 0x00, 0x0d, 0x8a, 0x62, 0x8a,
|
|
|
+ 0xa6, 0xa4, 0x0f, 0x37, 0x5a, 0xcf, 0x34, 0x7c, 0x1d, 0xbc, 0x36, 0xd0, 0x3d, 0x48, 0x74, 0x06,
|
|
|
+ 0xae, 0x83, 0x7c, 0x1f, 0x16, 0x5f, 0x65, 0x64, 0xe1, 0xe7, 0x32, 0x12, 0x8a, 0xa9, 0xd1, 0x21,
|
|
|
+ 0x2c, 0x20, 0xc3, 0x2e, 0x6c, 0xc8, 0xb3, 0x70, 0x15, 0xbc, 0x3c, 0xf0, 0x38, 0x24, 0x37, 0xa1,
|
|
|
+ 0x01, 0x0d, 0xf0, 0xee, 0xf9, 0xb0, 0x83, 0xc2, 0xc6, 0xf0, 0x25, 0xb0, 0x3c, 0x58, 0x22, 0xda,
|
|
|
+ 0x92, 0x5d, 0xf8, 0x0e, 0x78, 0xf3, 0x2c, 0xd4, 0xa0, 0x29, 0xf6, 0x4e, 0x9f, 0x22, 0x3a, 0x06,
|
|
|
+ 0xfb, 0xf4, 0xd9, 0x1b, 0x8c, 0xa2, 0x07, 0xc3, 0x85, 0xff, 0x07, 0xb4, 0xbe, 0x87, 0x3d, 0xb9,
|
|
|
+ 0x2d, 0x2f, 0x24, 0x78, 0x07, 0xdc, 0x46, 0x46, 0x69, 0xad, 0xbc, 0x55, 0x3b, 0x07, 0xfe, 0x53,
|
|
|
+ 0x09, 0xbe, 0x07, 0xde, 0x3e, 0x1b, 0x38, 0x68, 0x81, 0x9f, 0x49, 0xd0, 0x04, 0xef, 0x9f, 0x7b,
|
|
|
+ 0xbe, 0x41, 0x32, 0x9f, 0x4b, 0xf0, 0x06, 0xb8, 0xd6, 0x9f, 0x1f, 0xe5, 0xe1, 0x0b, 0x09, 0xae,
|
|
|
+ 0x80, 0x9b, 0xa7, 0xce, 0x14, 0x21, 0xbf, 0x94, 0xe0, 0x5b, 0xe0, 0xfe, 0x69, 0x90, 0x41, 0x61,
|
|
|
+ 0xfc, 0x5a, 0x82, 0x0f, 0xc1, 0x83, 0x73, 0xcc, 0x31, 0x48, 0xe0, 0x37, 0xa7, 0xac, 0x23, 0x4a,
|
|
|
+ 0xf6, 0x57, 0x67, 0xaf, 0x23, 0x42, 0xfe, 0x56, 0x82, 0x4b, 0xe0, 0x72, 0x7f, 0x08, 0x3d, 0x13,
|
|
|
+ 0xbf, 0x93, 0xe0, 0x2d, 0xb0, 0x7c, 0xaa, 0x12, 0x85, 0xfd, 0x5e, 0x82, 0x0a, 0x58, 0x28, 0x95,
|
|
|
+ 0x6b, 0xeb, 0x46, 0xd1, 0xaa, 0x3d, 0x2d, 0xda, 0x1b, 0xb5, 0xaa, 0x8d, 0xcc, 0x6a, 0x55, 0xfe,
|
|
|
+ 0xc5, 0x30, 0x0d, 0x25, 0xe1, 0x29, 0x95, 0x23, 0x67, 0x6d, 0xbd, 0x8c, 0x6a, 0x56, 0xf1, 0x89,
|
|
|
+ 0x59, 0xa2, 0xc8, 0x4f, 0x86, 0xe1, 0x1c, 0x00, 0x14, 0x56, 0x29, 0x17, 0x4b, 0x76, 0x55, 0xfe,
|
|
|
+ 0x6e, 0x0e, 0xce, 0x80, 0x09, 0xf3, 0x99, 0x6d, 0xa2, 0x92, 0x61, 0xc9, 0xff, 0xc8, 0xad, 0x1e,
|
|
|
+ 0x80, 0x89, 0xf8, 0xd3, 0x02, 0x1c, 0x03, 0xc3, 0x9b, 0x4f, 0xe4, 0x21, 0x38, 0x09, 0x46, 0x2d,
|
|
|
+ 0xd3, 0xa8, 0x9a, 0xb2, 0x04, 0x17, 0xc0, 0x9c, 0x69, 0x99, 0x05, 0xbb, 0x58, 0x2e, 0xd5, 0xd0,
|
|
|
+ 0x76, 0xa9, 0xc4, 0x2e, 0x4f, 0x19, 0x4c, 0x3f, 0xa5, 0x4f, 0x7e, 0x6c, 0xc9, 0xc1, 0x45, 0x30,
|
|
|
+ 0x6f, 0x95, 0x0b, 0x9b, 0x35, 0x64, 0x14, 0x4c, 0x14, 0x9b, 0x47, 0x28, 0x90, 0x09, 0xc5, 0x96,
|
|
|
+ 0xd1, 0xd5, 0x3c, 0x18, 0x8f, 0xbe, 0x4b, 0xc0, 0x29, 0x30, 0xbe, 0xf9, 0xa4, 0xb6, 0x61, 0x54,
|
|
|
+ 0x37, 0xe4, 0xa1, 0x1e, 0xd2, 0x7c, 0x56, 0x29, 0x22, 0x3a, 0x33, 0x00, 0x63, 0x27, 0x13, 0x4e,
|
|
|
+ 0x83, 0x89, 0x52, 0xb9, 0x56, 0xd8, 0x30, 0x0b, 0x9b, 0x72, 0xee, 0xde, 0x43, 0x30, 0x69, 0x07,
|
|
|
+ 0x8e, 0x17, 0xb6, 0xfc, 0x80, 0xc0, 0x7b, 0xe2, 0x60, 0x36, 0xfa, 0x3a, 0x1a, 0xfd, 0xe0, 0x7b,
|
|
|
+ 0x65, 0xee, 0x64, 0xcc, 0x7f, 0x0b, 0xd4, 0x86, 0x56, 0xa4, 0xd7, 0xa4, 0xfc, 0x85, 0x17, 0x7f,
|
|
|
+ 0x59, 0x1a, 0x7a, 0xf1, 0xf5, 0x92, 0xf4, 0xd5, 0xd7, 0x4b, 0xd2, 0x9f, 0xbf, 0x5e, 0x92, 0x7e,
|
|
|
+ 0xf2, 0xd7, 0xa5, 0xa1, 0x9d, 0x31, 0xf6, 0x83, 0xf1, 0xfd, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff,
|
|
|
+ 0x5c, 0x9f, 0x8c, 0x37, 0x79, 0x1e, 0x00, 0x00,
|
|
|
+}
|