|
@@ -51,6 +51,12 @@ type Op struct {
|
|
|
// for watch, put, delete
|
|
// for watch, put, delete
|
|
|
prevKV bool
|
|
prevKV bool
|
|
|
|
|
|
|
|
|
|
+ // for watch
|
|
|
|
|
+ // fragmentation should be disabled by default
|
|
|
|
|
+ // if true, split watch events when total exceeds
|
|
|
|
|
+ // "--max-request-bytes" flag value + 512-byte
|
|
|
|
|
+ fragment bool
|
|
|
|
|
+
|
|
|
// for put
|
|
// for put
|
|
|
ignoreValue bool
|
|
ignoreValue bool
|
|
|
ignoreLease bool
|
|
ignoreLease bool
|
|
@@ -475,6 +481,17 @@ func WithPrevKV() OpOption {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// WithFragment to receive raw watch response with fragmentation.
|
|
|
|
|
+// Fragmentation is disabled by default. If fragmentation is enabled,
|
|
|
|
|
+// etcd watch server will split watch response before sending to clients
|
|
|
|
|
+// when the total size of watch events exceed server-side request limit.
|
|
|
|
|
+// The default server-side request limit is 1.5 MiB, which can be configured
|
|
|
|
|
+// as "--max-request-bytes" flag value + gRPC-overhead 512 bytes.
|
|
|
|
|
+// See "etcdserver/api/v3rpc/watch.go" for more details.
|
|
|
|
|
+func WithFragment() OpOption {
|
|
|
|
|
+ return func(op *Op) { op.fragment = true }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// WithIgnoreValue updates the key using its current value.
|
|
// WithIgnoreValue updates the key using its current value.
|
|
|
// This option can not be combined with non-empty values.
|
|
// This option can not be combined with non-empty values.
|
|
|
// Returns an error if the key does not exist.
|
|
// Returns an error if the key does not exist.
|