mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-08 15:41:15 +02:00
* expose whether a volume replica is backed by remote storage
Volume locations returned by lookups do not indicate whether a replica
has been tiered to remote storage. Readers cannot distinguish a local
replica from a remote-backed one, so they may hit a remote-backed
replica first even when a local replica is available.
Add DataInRemote to the lookup location message, populate it from the
master's volume info, and carry it through the wdclient vid map so
clients can prefer local replicas when resolving chunk locations.
* wdclient: prefer local volume replicas over remote-tier replicas on lookup
LookupFileIdWithFallback (and the publicUrl variant in FilerClient)
didn't honor the DataInRemote flag when shuffling URLs, so the
DataInRemote patch only took effect in LookupVolumeServerUrl. Apply
the same ReorderToFront(localUrls) to sameDcUrls/otherDcUrls so
non-remote replicas stay at the front, matching the existing vidMap
convention.
* wdclient: propagate DataInRemote across tier transitions on existing replicas
When a volume is tiered to remote storage or a remote-backed replica is
restored locally, the cached DataInRemote on the same volume-server URL
stayed at its old value because two pieces of state never updated:
* master_grpc_server.go only split newVolumes and (already-tracked) volumes
into NewVids vs RemoteVids. ChangedVolumes went straight to NewVids, so
the broadcast announced the re-classified volume as a fresh arrival and
the client had no way to tell whether its existing cache was stale.
* vid_map.addLocationToMap early-returned when an entry already had the
same URL. A tier transition reports the same URL with DataInRemote
flipped, so the cached entry stayed at the old classification.
Wire both sides together: ChangedVolumes now go through the same IsRemote
split as newVolumes, and addLocationToMap replaces the existing entry in
place when the URL matches but DataInRemote has changed. The server
reference key only depends on URL/grpc port, so the refcount does not
move across the flip.
Adds vid_map_remote_transition_test.go covering the local->remote and
remote->local paths so the in-place update and the cache-key stability
are pinned by tests.
* wdclient: prefer local replicas across data-center boundaries
The previous local-first ordering hoisted local URLs to the front of each
data-center bucket separately, then concatenated same-DC before other-DC.
That meant a same-DC remote replica could still be tried before an
other-DC local replica even though the local one would answer cheaply.
Reorder once across the full candidate list: concatenate same-DC and
other-DC first, then ReorderToFront pulls every local replica to the very
front while preserving the DC preference inside each tier. Apply the same
ordering in all four lookup paths so the cached vidMap, the
LookupFileIdWithFallback provider path, FilerClient.GetLookupFileIdFunction
(PublicUrl-preferred variant), and the deprecated filer.LookupFn all agree:
- weed/wdclient/vid_map.go (LookupVolumeServerUrl)
- weed/wdclient/vidmap_client.go (LookupFileIdWithFallback)
- weed/wdclient/filer_client.go (LookupFileId)
- weed/filer/reader_at.go (LookupFn)
Strengthen the existing local-first tests: vidmap_client_localfirst_test
now asserts both endpoints are present (not just the local one is first),
and slice_test asserts an exact match instead of accepting two orderings.
Add TestLookupFileIdWithFallbackGlobalLocalFirst to pin the cross-DC
ordering invariant: any local replica (same or other DC) precedes every
remote-tier replica; within each tier DC1 precedes DC2.
Add docstrings to ToVolumeLocations, ReorderToFront, LookupVolumeServerUrl,
LookupFileId, GetVidLocations, GetLocations, LookupFileIdWithFallback, and
updateVidMap so the touched lookup paths are described in one place.
* topology: broadcast tier transitions on existing replicas
When a volume replica is tiered to remote storage or restored locally, the
wdclient's cached DataInRemote went stale: every connected client kept
preferring a remote-backed replica over a freshly restored local one, or
demoted a freshly tiered remote replica. The fix in commit 116982595 routed
ChangedVolumes to NewVids/RemoteVids on the master, but ApplyVolumeChanges
returned only fresh arrivals and previously servable replicas. An existing
replica whose IsRemote() classification flipped was neither, so it never
reached the broadcast loop and the wdclient never learned.
Make Disk.doAddOrUpdateVolume return a third signal -- tierTransition --
true exactly when an existing replica's IsRemote() flips. ApplyVolumeChanges
treats that as an arrival so the existing SendHeartbeat routing loop now
sees it. Add a master-side end-to-end test covering local->remote,
remote->local, no-op re-reports, and a mixed heartbeat that only announces
the tier transition.
Also add docstrings to LookupFileId, wdclientLocationsToPb, and
LookupVolume where the prior change touched their bodies.
* topology: broadcast tier transitions received through full reconciliation
The previous commit added tier-transition routing on the ChangedVolumes
delta path, but that is not the only way a re-tiered replica reaches the
master. After a digest mismatch the volume server resends a full Volumes
list, and SyncDataNodeRegistration applies the new IsRemote() classification
silently -- the changedVolumes return value was being thrown away. The
master therefore never broadcast NewVids/RemoteVids, and a wdclient connected
during the recovery kept the stale DataInRemote until it lost contact with
the master.
Surface the changed set through UpdateVolumes.changedVolumes (now covering
both ReadOnly flips and tier flips) and SyncDataNodeRegistration, then route
it through NewVids/RemoteVids in SendHeartbeat the same way the delta path
already does. Add an end-to-end test for the full reconciliation path.
* master: keep an EC volume's locations in the volume lookup
The nodes that answer for an EC volume hold shards, not a volume record,
so asking them for one fails. Dropping the location on that failure
emptied the result and turned every EC read through the master's HTTP
lookup and fid redirect into a 404.
Treat an absent volume record as a local read and keep the node in the
answer. The per-node conversion moves into topologyLocation so the EC
case is covered by a test.
Claude-Session: https://claude.ai/code/session_01FcSp6quCaxQ1cb3Vx7o9fW
* wdclient: replace a tier-flipped location without writing under a reader
GetLocations hands back the entry's own slice and the caller walks it
after the read lock is dropped, which is why every other mutation here
builds a new slice. Writing the flipped replica into the array in place
raced LookupVolumeServerUrl, reported by -race.
Copy the slice, swap the one element, and publish it.
Claude-Session: https://claude.ai/code/session_01FcSp6quCaxQ1cb3Vx7o9fW
* master: keep a remote volume on NewVids for older clients
Moving remote-tier volumes out of NewVids and into RemoteVids alone is a
wire break in the wrong direction. A master upgraded ahead of its filers
and mounts -- the usual order -- announces a tiered volume only on a
field the older client ignores, so the volume drops out of that client's
vid map entirely and reads for it fail.
Announce every volume on NewVids and repeat the remote-tier subset on
RemoteVids, so a new client still learns the tier and an old one keeps
the location. The routing moves into announceVolume, which the heartbeat
paths and their tests now share instead of each restating it.
On the client, RemoteVids no longer needs a second write per volume: the
tier is settled before anything is added.
Claude-Session: https://claude.ai/code/session_01FcSp6quCaxQ1cb3Vx7o9fW
* topology: split the volume snapshot by tier without copying the records
ToVolumeLocations runs on every KeepConnected, so a filer or mount
connecting made the master allocate a full VolumeInfo per volume per node
just to read four bytes of id off each one. AppendVolumeIds exists to
avoid exactly that.
Extend it to fill the remote-tier list alongside the full one, and use it
again in the snapshot.
Claude-Session: https://claude.ai/code/session_01FcSp6quCaxQ1cb3Vx7o9fW
* wdclient: keep the data-center preference ahead of the local-first ordering
Hoisting every local replica to the very front puts an other-DC local
read ahead of a same-DC remote one. When the remote tier sits in the same
region as the replicas -- the common arrangement -- that trades an
in-region GET for a WAN round trip and costs more than the remote read it
avoids.
Reorder inside each data-center bucket instead, so local still wins among
equals and the data-center preference still wins overall.
Claude-Session: https://claude.ai/code/session_01FcSp6quCaxQ1cb3Vx7o9fW
* operation: pick the read replica from one list
The local-preferring lookup built a list of local URLs and then branched
on whether it was empty, duplicating the random pick. Fall back by
filling the same list with every replica instead.
Claude-Session: https://claude.ai/code/session_01FcSp6quCaxQ1cb3Vx7o9fW
---------
Co-authored-by: Bruce Zou <gift_secondst@msn.com>
Co-authored-by: bruce-zzz <bruce.zou@hhy-data.com>
7943 lines
258 KiB
Go
7943 lines
258 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.36.6
|
|
// protoc v7.35.1
|
|
// source: filer.proto
|
|
|
|
package filer_pb
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
unsafe "unsafe"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type SSEType int32
|
|
|
|
const (
|
|
SSEType_NONE SSEType = 0 // No server-side encryption
|
|
SSEType_SSE_C SSEType = 1 // Server-Side Encryption with Customer-Provided Keys
|
|
SSEType_SSE_KMS SSEType = 2 // Server-Side Encryption with KMS-Managed Keys
|
|
SSEType_SSE_S3 SSEType = 3 // Server-Side Encryption with S3-Managed Keys
|
|
)
|
|
|
|
// Enum value maps for SSEType.
|
|
var (
|
|
SSEType_name = map[int32]string{
|
|
0: "NONE",
|
|
1: "SSE_C",
|
|
2: "SSE_KMS",
|
|
3: "SSE_S3",
|
|
}
|
|
SSEType_value = map[string]int32{
|
|
"NONE": 0,
|
|
"SSE_C": 1,
|
|
"SSE_KMS": 2,
|
|
"SSE_S3": 3,
|
|
}
|
|
)
|
|
|
|
func (x SSEType) Enum() *SSEType {
|
|
p := new(SSEType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x SSEType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (SSEType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_filer_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (SSEType) Type() protoreflect.EnumType {
|
|
return &file_filer_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x SSEType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use SSEType.Descriptor instead.
|
|
func (SSEType) EnumDescriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
// Structured error codes for filer entry operations.
|
|
// Values are stable — do not reorder or reuse numbers.
|
|
type FilerError int32
|
|
|
|
const (
|
|
FilerError_OK FilerError = 0
|
|
FilerError_ENTRY_NAME_TOO_LONG FilerError = 1 // name exceeds max_file_name_length
|
|
FilerError_PARENT_IS_FILE FilerError = 2 // parent path component is a file, not a directory
|
|
FilerError_EXISTING_IS_DIRECTORY FilerError = 3 // cannot overwrite directory with file
|
|
FilerError_EXISTING_IS_FILE FilerError = 4 // cannot overwrite file with directory
|
|
FilerError_ENTRY_ALREADY_EXISTS FilerError = 5 // O_EXCL and entry already exists
|
|
FilerError_PRECONDITION_FAILED FilerError = 6 // WriteCondition not satisfied
|
|
)
|
|
|
|
// Enum value maps for FilerError.
|
|
var (
|
|
FilerError_name = map[int32]string{
|
|
0: "OK",
|
|
1: "ENTRY_NAME_TOO_LONG",
|
|
2: "PARENT_IS_FILE",
|
|
3: "EXISTING_IS_DIRECTORY",
|
|
4: "EXISTING_IS_FILE",
|
|
5: "ENTRY_ALREADY_EXISTS",
|
|
6: "PRECONDITION_FAILED",
|
|
}
|
|
FilerError_value = map[string]int32{
|
|
"OK": 0,
|
|
"ENTRY_NAME_TOO_LONG": 1,
|
|
"PARENT_IS_FILE": 2,
|
|
"EXISTING_IS_DIRECTORY": 3,
|
|
"EXISTING_IS_FILE": 4,
|
|
"ENTRY_ALREADY_EXISTS": 5,
|
|
"PRECONDITION_FAILED": 6,
|
|
}
|
|
)
|
|
|
|
func (x FilerError) Enum() *FilerError {
|
|
p := new(FilerError)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x FilerError) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (FilerError) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_filer_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (FilerError) Type() protoreflect.EnumType {
|
|
return &file_filer_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x FilerError) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use FilerError.Descriptor instead.
|
|
func (FilerError) EnumDescriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
type PosixLockOp int32
|
|
|
|
const (
|
|
PosixLockOp_TRY_LOCK PosixLockOp = 0 // grant lock or report conflict (non-blocking)
|
|
PosixLockOp_UNLOCK PosixLockOp = 1 // release lock's owner's locks over its range
|
|
PosixLockOp_GET_LK PosixLockOp = 2 // report a conflicting lock, if any
|
|
PosixLockOp_RELEASE_POSIX_OWNER PosixLockOp = 3 // drop the owner's fcntl locks (flush-time)
|
|
PosixLockOp_RELEASE_FLOCK_OWNER PosixLockOp = 4 // drop the owner's flock locks (release-time)
|
|
PosixLockOp_KEEP_ALIVE PosixLockOp = 5 // renew the session's lease on this owner (lock.sid)
|
|
)
|
|
|
|
// Enum value maps for PosixLockOp.
|
|
var (
|
|
PosixLockOp_name = map[int32]string{
|
|
0: "TRY_LOCK",
|
|
1: "UNLOCK",
|
|
2: "GET_LK",
|
|
3: "RELEASE_POSIX_OWNER",
|
|
4: "RELEASE_FLOCK_OWNER",
|
|
5: "KEEP_ALIVE",
|
|
}
|
|
PosixLockOp_value = map[string]int32{
|
|
"TRY_LOCK": 0,
|
|
"UNLOCK": 1,
|
|
"GET_LK": 2,
|
|
"RELEASE_POSIX_OWNER": 3,
|
|
"RELEASE_FLOCK_OWNER": 4,
|
|
"KEEP_ALIVE": 5,
|
|
}
|
|
)
|
|
|
|
func (x PosixLockOp) Enum() *PosixLockOp {
|
|
p := new(PosixLockOp)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x PosixLockOp) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (PosixLockOp) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_filer_proto_enumTypes[2].Descriptor()
|
|
}
|
|
|
|
func (PosixLockOp) Type() protoreflect.EnumType {
|
|
return &file_filer_proto_enumTypes[2]
|
|
}
|
|
|
|
func (x PosixLockOp) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use PosixLockOp.Descriptor instead.
|
|
func (PosixLockOp) EnumDescriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
type WriteCondition_Kind int32
|
|
|
|
const (
|
|
WriteCondition_NONE WriteCondition_Kind = 0 // unconditional
|
|
WriteCondition_IF_NOT_EXISTS WriteCondition_Kind = 1 // fail if the entry exists (If-None-Match: *)
|
|
WriteCondition_IF_EXISTS WriteCondition_Kind = 2 // fail if the entry is absent (If-Match: *)
|
|
WriteCondition_IF_ETAG_MATCH WriteCondition_Kind = 3 // fail if absent or etag matches none of the set (If-Match)
|
|
WriteCondition_IF_ETAG_NOT_MATCH WriteCondition_Kind = 4 // fail if present and etag matches any of the set (If-None-Match)
|
|
WriteCondition_IF_UNMODIFIED_SINCE WriteCondition_Kind = 5 // fail if present and mtime > unix_time
|
|
WriteCondition_IF_MODIFIED_SINCE WriteCondition_Kind = 6 // fail if present and mtime <= unix_time
|
|
WriteCondition_IF_EXTENDED_NOT_EQUAL WriteCondition_Kind = 7 // fail if present and extended[ext_key] == ext_value
|
|
WriteCondition_IF_EXTENDED_TIME_ELAPSED WriteCondition_Kind = 8 // fail if present and extended[ext_key] (unix seconds) is in the future
|
|
WriteCondition_IF_CHUNKS_EQUAL WriteCondition_Kind = 9 // fail unless the stored chunk fid multiset equals fids (absent entry = no chunks)
|
|
)
|
|
|
|
// Enum value maps for WriteCondition_Kind.
|
|
var (
|
|
WriteCondition_Kind_name = map[int32]string{
|
|
0: "NONE",
|
|
1: "IF_NOT_EXISTS",
|
|
2: "IF_EXISTS",
|
|
3: "IF_ETAG_MATCH",
|
|
4: "IF_ETAG_NOT_MATCH",
|
|
5: "IF_UNMODIFIED_SINCE",
|
|
6: "IF_MODIFIED_SINCE",
|
|
7: "IF_EXTENDED_NOT_EQUAL",
|
|
8: "IF_EXTENDED_TIME_ELAPSED",
|
|
9: "IF_CHUNKS_EQUAL",
|
|
}
|
|
WriteCondition_Kind_value = map[string]int32{
|
|
"NONE": 0,
|
|
"IF_NOT_EXISTS": 1,
|
|
"IF_EXISTS": 2,
|
|
"IF_ETAG_MATCH": 3,
|
|
"IF_ETAG_NOT_MATCH": 4,
|
|
"IF_UNMODIFIED_SINCE": 5,
|
|
"IF_MODIFIED_SINCE": 6,
|
|
"IF_EXTENDED_NOT_EQUAL": 7,
|
|
"IF_EXTENDED_TIME_ELAPSED": 8,
|
|
"IF_CHUNKS_EQUAL": 9,
|
|
}
|
|
)
|
|
|
|
func (x WriteCondition_Kind) Enum() *WriteCondition_Kind {
|
|
p := new(WriteCondition_Kind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x WriteCondition_Kind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (WriteCondition_Kind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_filer_proto_enumTypes[3].Descriptor()
|
|
}
|
|
|
|
func (WriteCondition_Kind) Type() protoreflect.EnumType {
|
|
return &file_filer_proto_enumTypes[3]
|
|
}
|
|
|
|
func (x WriteCondition_Kind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteCondition_Kind.Descriptor instead.
|
|
func (WriteCondition_Kind) EnumDescriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{13, 0}
|
|
}
|
|
|
|
type ObjectMutation_Type int32
|
|
|
|
const (
|
|
ObjectMutation_PUT ObjectMutation_Type = 0 // create or replace the entry (entry field)
|
|
ObjectMutation_DELETE ObjectMutation_Type = 1 // delete the entry at directory/name (no error if absent)
|
|
ObjectMutation_PATCH_EXTENDED ObjectMutation_Type = 2 // merge set_extended / remove delete_extended on the entry
|
|
ObjectMutation_RECOMPUTE_LATEST ObjectMutation_Type = 3 // scan a directory and re-point a parent entry (recompute)
|
|
)
|
|
|
|
// Enum value maps for ObjectMutation_Type.
|
|
var (
|
|
ObjectMutation_Type_name = map[int32]string{
|
|
0: "PUT",
|
|
1: "DELETE",
|
|
2: "PATCH_EXTENDED",
|
|
3: "RECOMPUTE_LATEST",
|
|
}
|
|
ObjectMutation_Type_value = map[string]int32{
|
|
"PUT": 0,
|
|
"DELETE": 1,
|
|
"PATCH_EXTENDED": 2,
|
|
"RECOMPUTE_LATEST": 3,
|
|
}
|
|
)
|
|
|
|
func (x ObjectMutation_Type) Enum() *ObjectMutation_Type {
|
|
p := new(ObjectMutation_Type)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ObjectMutation_Type) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ObjectMutation_Type) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_filer_proto_enumTypes[4].Descriptor()
|
|
}
|
|
|
|
func (ObjectMutation_Type) Type() protoreflect.EnumType {
|
|
return &file_filer_proto_enumTypes[4]
|
|
}
|
|
|
|
func (x ObjectMutation_Type) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ObjectMutation_Type.Descriptor instead.
|
|
func (ObjectMutation_Type) EnumDescriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{14, 0}
|
|
}
|
|
|
|
type LookupDirectoryEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryRequest) Reset() {
|
|
*x = LookupDirectoryEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LookupDirectoryEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *LookupDirectoryEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[0]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LookupDirectoryEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*LookupDirectoryEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type LookupDirectoryEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
|
|
// filer log position stamped before the entry read: every event at or
|
|
// below it is reflected in the returned entry
|
|
LogTsNs int64 `protobuf:"varint,2,opt,name=log_ts_ns,json=logTsNs,proto3" json:"log_ts_ns,omitempty"`
|
|
// signature of the filer whose clock stamped log_ts_ns; positions are
|
|
// only comparable with events that filer logged
|
|
LogSignature int32 `protobuf:"varint,3,opt,name=log_signature,json=logSignature,proto3" json:"log_signature,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryResponse) Reset() {
|
|
*x = LookupDirectoryEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LookupDirectoryEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *LookupDirectoryEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[1]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LookupDirectoryEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*LookupDirectoryEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryResponse) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryResponse) GetLogTsNs() int64 {
|
|
if x != nil {
|
|
return x.LogTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LookupDirectoryEntryResponse) GetLogSignature() int32 {
|
|
if x != nil {
|
|
return x.LogSignature
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type ListEntriesRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
|
|
StartFromFileName string `protobuf:"bytes,3,opt,name=startFromFileName,proto3" json:"startFromFileName,omitempty"`
|
|
InclusiveStartFrom bool `protobuf:"varint,4,opt,name=inclusiveStartFrom,proto3" json:"inclusiveStartFrom,omitempty"`
|
|
Limit uint32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
|
|
SnapshotTsNs int64 `protobuf:"varint,6,opt,name=snapshot_ts_ns,json=snapshotTsNs,proto3" json:"snapshot_ts_ns,omitempty"`
|
|
// Leave the chunk list out of every entry in the response. The attributes
|
|
// still carry the file size, so a listing that only reads attributes can
|
|
// ask for this and skip the largest part of the payload.
|
|
OmitChunks bool `protobuf:"varint,7,opt,name=omit_chunks,json=omitChunks,proto3" json:"omit_chunks,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ListEntriesRequest) Reset() {
|
|
*x = ListEntriesRequest{}
|
|
mi := &file_filer_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ListEntriesRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListEntriesRequest) ProtoMessage() {}
|
|
|
|
func (x *ListEntriesRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[2]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListEntriesRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListEntriesRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *ListEntriesRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListEntriesRequest) GetPrefix() string {
|
|
if x != nil {
|
|
return x.Prefix
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListEntriesRequest) GetStartFromFileName() string {
|
|
if x != nil {
|
|
return x.StartFromFileName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListEntriesRequest) GetInclusiveStartFrom() bool {
|
|
if x != nil {
|
|
return x.InclusiveStartFrom
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ListEntriesRequest) GetLimit() uint32 {
|
|
if x != nil {
|
|
return x.Limit
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ListEntriesRequest) GetSnapshotTsNs() int64 {
|
|
if x != nil {
|
|
return x.SnapshotTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ListEntriesRequest) GetOmitChunks() bool {
|
|
if x != nil {
|
|
return x.OmitChunks
|
|
}
|
|
return false
|
|
}
|
|
|
|
type ListEntriesResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
|
|
SnapshotTsNs int64 `protobuf:"varint,2,opt,name=snapshot_ts_ns,json=snapshotTsNs,proto3" json:"snapshot_ts_ns,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ListEntriesResponse) Reset() {
|
|
*x = ListEntriesResponse{}
|
|
mi := &file_filer_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ListEntriesResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListEntriesResponse) ProtoMessage() {}
|
|
|
|
func (x *ListEntriesResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[3]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListEntriesResponse.ProtoReflect.Descriptor instead.
|
|
func (*ListEntriesResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *ListEntriesResponse) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListEntriesResponse) GetSnapshotTsNs() int64 {
|
|
if x != nil {
|
|
return x.SnapshotTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type RemoteEntry struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
StorageName string `protobuf:"bytes,1,opt,name=storage_name,json=storageName,proto3" json:"storage_name,omitempty"`
|
|
LastLocalSyncTsNs int64 `protobuf:"varint,2,opt,name=last_local_sync_ts_ns,json=lastLocalSyncTsNs,proto3" json:"last_local_sync_ts_ns,omitempty"`
|
|
RemoteETag string `protobuf:"bytes,3,opt,name=remote_e_tag,json=remoteETag,proto3" json:"remote_e_tag,omitempty"`
|
|
RemoteMtime int64 `protobuf:"varint,4,opt,name=remote_mtime,json=remoteMtime,proto3" json:"remote_mtime,omitempty"`
|
|
RemoteSize int64 `protobuf:"varint,5,opt,name=remote_size,json=remoteSize,proto3" json:"remote_size,omitempty"`
|
|
// unset when the remote listing does not report encodings (S3);
|
|
// empty when the remote object authoritatively has none
|
|
RemoteContentEncoding *string `protobuf:"bytes,6,opt,name=remote_content_encoding,json=remoteContentEncoding,proto3,oneof" json:"remote_content_encoding,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RemoteEntry) Reset() {
|
|
*x = RemoteEntry{}
|
|
mi := &file_filer_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RemoteEntry) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RemoteEntry) ProtoMessage() {}
|
|
|
|
func (x *RemoteEntry) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[4]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RemoteEntry.ProtoReflect.Descriptor instead.
|
|
func (*RemoteEntry) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *RemoteEntry) GetStorageName() string {
|
|
if x != nil {
|
|
return x.StorageName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RemoteEntry) GetLastLocalSyncTsNs() int64 {
|
|
if x != nil {
|
|
return x.LastLocalSyncTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *RemoteEntry) GetRemoteETag() string {
|
|
if x != nil {
|
|
return x.RemoteETag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RemoteEntry) GetRemoteMtime() int64 {
|
|
if x != nil {
|
|
return x.RemoteMtime
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *RemoteEntry) GetRemoteSize() int64 {
|
|
if x != nil {
|
|
return x.RemoteSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *RemoteEntry) GetRemoteContentEncoding() string {
|
|
if x != nil && x.RemoteContentEncoding != nil {
|
|
return *x.RemoteContentEncoding
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type Entry struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
IsDirectory bool `protobuf:"varint,2,opt,name=is_directory,json=isDirectory,proto3" json:"is_directory,omitempty"`
|
|
Chunks []*FileChunk `protobuf:"bytes,3,rep,name=chunks,proto3" json:"chunks,omitempty"`
|
|
Attributes *FuseAttributes `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"`
|
|
Extended map[string][]byte `protobuf:"bytes,5,rep,name=extended,proto3" json:"extended,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
HardLinkId []byte `protobuf:"bytes,7,opt,name=hard_link_id,json=hardLinkId,proto3" json:"hard_link_id,omitempty"`
|
|
HardLinkCounter int32 `protobuf:"varint,8,opt,name=hard_link_counter,json=hardLinkCounter,proto3" json:"hard_link_counter,omitempty"` // only exists in hard link meta data
|
|
Content []byte `protobuf:"bytes,9,opt,name=content,proto3" json:"content,omitempty"` // if not empty, the file content
|
|
RemoteEntry *RemoteEntry `protobuf:"bytes,10,opt,name=remote_entry,json=remoteEntry,proto3" json:"remote_entry,omitempty"`
|
|
Quota int64 `protobuf:"varint,11,opt,name=quota,proto3" json:"quota,omitempty"` // for bucket only. Positive/Negative means enabled/disabled.
|
|
WormEnforcedAtTsNs int64 `protobuf:"varint,12,opt,name=worm_enforced_at_ts_ns,json=wormEnforcedAtTsNs,proto3" json:"worm_enforced_at_ts_ns,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Entry) Reset() {
|
|
*x = Entry{}
|
|
mi := &file_filer_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Entry) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Entry) ProtoMessage() {}
|
|
|
|
func (x *Entry) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[5]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Entry.ProtoReflect.Descriptor instead.
|
|
func (*Entry) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *Entry) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Entry) GetIsDirectory() bool {
|
|
if x != nil {
|
|
return x.IsDirectory
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Entry) GetChunks() []*FileChunk {
|
|
if x != nil {
|
|
return x.Chunks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Entry) GetAttributes() *FuseAttributes {
|
|
if x != nil {
|
|
return x.Attributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Entry) GetExtended() map[string][]byte {
|
|
if x != nil {
|
|
return x.Extended
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Entry) GetHardLinkId() []byte {
|
|
if x != nil {
|
|
return x.HardLinkId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Entry) GetHardLinkCounter() int32 {
|
|
if x != nil {
|
|
return x.HardLinkCounter
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Entry) GetContent() []byte {
|
|
if x != nil {
|
|
return x.Content
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Entry) GetRemoteEntry() *RemoteEntry {
|
|
if x != nil {
|
|
return x.RemoteEntry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Entry) GetQuota() int64 {
|
|
if x != nil {
|
|
return x.Quota
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Entry) GetWormEnforcedAtTsNs() int64 {
|
|
if x != nil {
|
|
return x.WormEnforcedAtTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type FullEntry struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Dir string `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"`
|
|
Entry *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FullEntry) Reset() {
|
|
*x = FullEntry{}
|
|
mi := &file_filer_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FullEntry) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FullEntry) ProtoMessage() {}
|
|
|
|
func (x *FullEntry) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[6]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FullEntry.ProtoReflect.Descriptor instead.
|
|
func (*FullEntry) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *FullEntry) GetDir() string {
|
|
if x != nil {
|
|
return x.Dir
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FullEntry) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type EventNotification struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
OldEntry *Entry `protobuf:"bytes,1,opt,name=old_entry,json=oldEntry,proto3" json:"old_entry,omitempty"`
|
|
NewEntry *Entry `protobuf:"bytes,2,opt,name=new_entry,json=newEntry,proto3" json:"new_entry,omitempty"`
|
|
DeleteChunks bool `protobuf:"varint,3,opt,name=delete_chunks,json=deleteChunks,proto3" json:"delete_chunks,omitempty"`
|
|
NewParentPath string `protobuf:"bytes,4,opt,name=new_parent_path,json=newParentPath,proto3" json:"new_parent_path,omitempty"`
|
|
IsFromOtherCluster bool `protobuf:"varint,5,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
|
|
Signatures []int32 `protobuf:"varint,6,rep,packed,name=signatures,proto3" json:"signatures,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *EventNotification) Reset() {
|
|
*x = EventNotification{}
|
|
mi := &file_filer_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *EventNotification) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*EventNotification) ProtoMessage() {}
|
|
|
|
func (x *EventNotification) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[7]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use EventNotification.ProtoReflect.Descriptor instead.
|
|
func (*EventNotification) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *EventNotification) GetOldEntry() *Entry {
|
|
if x != nil {
|
|
return x.OldEntry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *EventNotification) GetNewEntry() *Entry {
|
|
if x != nil {
|
|
return x.NewEntry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *EventNotification) GetDeleteChunks() bool {
|
|
if x != nil {
|
|
return x.DeleteChunks
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *EventNotification) GetNewParentPath() string {
|
|
if x != nil {
|
|
return x.NewParentPath
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *EventNotification) GetIsFromOtherCluster() bool {
|
|
if x != nil {
|
|
return x.IsFromOtherCluster
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *EventNotification) GetSignatures() []int32 {
|
|
if x != nil {
|
|
return x.Signatures
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type FileChunk struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId,proto3" json:"file_id,omitempty"` // to be deprecated
|
|
Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
|
Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
|
|
ModifiedTsNs int64 `protobuf:"varint,4,opt,name=modified_ts_ns,json=modifiedTsNs,proto3" json:"modified_ts_ns,omitempty"`
|
|
ETag string `protobuf:"bytes,5,opt,name=e_tag,json=eTag,proto3" json:"e_tag,omitempty"`
|
|
SourceFileId string `protobuf:"bytes,6,opt,name=source_file_id,json=sourceFileId,proto3" json:"source_file_id,omitempty"` // to be deprecated
|
|
Fid *FileId `protobuf:"bytes,7,opt,name=fid,proto3" json:"fid,omitempty"`
|
|
SourceFid *FileId `protobuf:"bytes,8,opt,name=source_fid,json=sourceFid,proto3" json:"source_fid,omitempty"`
|
|
CipherKey []byte `protobuf:"bytes,9,opt,name=cipher_key,json=cipherKey,proto3" json:"cipher_key,omitempty"`
|
|
IsCompressed bool `protobuf:"varint,10,opt,name=is_compressed,json=isCompressed,proto3" json:"is_compressed,omitempty"`
|
|
IsChunkManifest bool `protobuf:"varint,11,opt,name=is_chunk_manifest,json=isChunkManifest,proto3" json:"is_chunk_manifest,omitempty"` // content is a list of FileChunks
|
|
SseType SSEType `protobuf:"varint,12,opt,name=sse_type,json=sseType,proto3,enum=filer_pb.SSEType" json:"sse_type,omitempty"` // Server-side encryption type
|
|
SseMetadata []byte `protobuf:"bytes,13,opt,name=sse_metadata,json=sseMetadata,proto3" json:"sse_metadata,omitempty"` // Serialized SSE metadata for this chunk (SSE-C, SSE-KMS, or SSE-S3)
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FileChunk) Reset() {
|
|
*x = FileChunk{}
|
|
mi := &file_filer_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FileChunk) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FileChunk) ProtoMessage() {}
|
|
|
|
func (x *FileChunk) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[8]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FileChunk.ProtoReflect.Descriptor instead.
|
|
func (*FileChunk) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *FileChunk) GetFileId() string {
|
|
if x != nil {
|
|
return x.FileId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FileChunk) GetOffset() int64 {
|
|
if x != nil {
|
|
return x.Offset
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FileChunk) GetSize() uint64 {
|
|
if x != nil {
|
|
return x.Size
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FileChunk) GetModifiedTsNs() int64 {
|
|
if x != nil {
|
|
return x.ModifiedTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FileChunk) GetETag() string {
|
|
if x != nil {
|
|
return x.ETag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FileChunk) GetSourceFileId() string {
|
|
if x != nil {
|
|
return x.SourceFileId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FileChunk) GetFid() *FileId {
|
|
if x != nil {
|
|
return x.Fid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *FileChunk) GetSourceFid() *FileId {
|
|
if x != nil {
|
|
return x.SourceFid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *FileChunk) GetCipherKey() []byte {
|
|
if x != nil {
|
|
return x.CipherKey
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *FileChunk) GetIsCompressed() bool {
|
|
if x != nil {
|
|
return x.IsCompressed
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *FileChunk) GetIsChunkManifest() bool {
|
|
if x != nil {
|
|
return x.IsChunkManifest
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *FileChunk) GetSseType() SSEType {
|
|
if x != nil {
|
|
return x.SseType
|
|
}
|
|
return SSEType_NONE
|
|
}
|
|
|
|
func (x *FileChunk) GetSseMetadata() []byte {
|
|
if x != nil {
|
|
return x.SseMetadata
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type FileChunkManifest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Chunks []*FileChunk `protobuf:"bytes,1,rep,name=chunks,proto3" json:"chunks,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FileChunkManifest) Reset() {
|
|
*x = FileChunkManifest{}
|
|
mi := &file_filer_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FileChunkManifest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FileChunkManifest) ProtoMessage() {}
|
|
|
|
func (x *FileChunkManifest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[9]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FileChunkManifest.ProtoReflect.Descriptor instead.
|
|
func (*FileChunkManifest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *FileChunkManifest) GetChunks() []*FileChunk {
|
|
if x != nil {
|
|
return x.Chunks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type FileId struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
|
|
FileKey uint64 `protobuf:"varint,2,opt,name=file_key,json=fileKey,proto3" json:"file_key,omitempty"`
|
|
Cookie uint32 `protobuf:"fixed32,3,opt,name=cookie,proto3" json:"cookie,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FileId) Reset() {
|
|
*x = FileId{}
|
|
mi := &file_filer_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FileId) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FileId) ProtoMessage() {}
|
|
|
|
func (x *FileId) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[10]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FileId.ProtoReflect.Descriptor instead.
|
|
func (*FileId) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *FileId) GetVolumeId() uint32 {
|
|
if x != nil {
|
|
return x.VolumeId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FileId) GetFileKey() uint64 {
|
|
if x != nil {
|
|
return x.FileKey
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FileId) GetCookie() uint32 {
|
|
if x != nil {
|
|
return x.Cookie
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type FuseAttributes struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
FileSize uint64 `protobuf:"varint,1,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
|
|
Mtime int64 `protobuf:"varint,2,opt,name=mtime,proto3" json:"mtime,omitempty"` // unix time in seconds
|
|
FileMode uint32 `protobuf:"varint,3,opt,name=file_mode,json=fileMode,proto3" json:"file_mode,omitempty"`
|
|
Uid uint32 `protobuf:"varint,4,opt,name=uid,proto3" json:"uid,omitempty"`
|
|
Gid uint32 `protobuf:"varint,5,opt,name=gid,proto3" json:"gid,omitempty"`
|
|
Crtime int64 `protobuf:"varint,6,opt,name=crtime,proto3" json:"crtime,omitempty"` // unix time in seconds
|
|
Mime string `protobuf:"bytes,7,opt,name=mime,proto3" json:"mime,omitempty"`
|
|
TtlSec int32 `protobuf:"varint,10,opt,name=ttl_sec,json=ttlSec,proto3" json:"ttl_sec,omitempty"`
|
|
UserName string `protobuf:"bytes,11,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` // for hdfs
|
|
GroupName []string `protobuf:"bytes,12,rep,name=group_name,json=groupName,proto3" json:"group_name,omitempty"` // for hdfs
|
|
SymlinkTarget string `protobuf:"bytes,13,opt,name=symlink_target,json=symlinkTarget,proto3" json:"symlink_target,omitempty"`
|
|
Md5 []byte `protobuf:"bytes,14,opt,name=md5,proto3" json:"md5,omitempty"`
|
|
Rdev uint32 `protobuf:"varint,16,opt,name=rdev,proto3" json:"rdev,omitempty"`
|
|
Inode uint64 `protobuf:"varint,17,opt,name=inode,proto3" json:"inode,omitempty"`
|
|
Ctime int64 `protobuf:"varint,18,opt,name=ctime,proto3" json:"ctime,omitempty"` // unix time in seconds, inode change time
|
|
MtimeNs int32 `protobuf:"varint,19,opt,name=mtime_ns,json=mtimeNs,proto3" json:"mtime_ns,omitempty"` // nanosecond component of mtime (0-999999999)
|
|
CtimeNs int32 `protobuf:"varint,20,opt,name=ctime_ns,json=ctimeNs,proto3" json:"ctime_ns,omitempty"` // nanosecond component of ctime (0-999999999)
|
|
CrtimeNs int32 `protobuf:"varint,21,opt,name=crtime_ns,json=crtimeNs,proto3" json:"crtime_ns,omitempty"` // nanosecond component of crtime (0-999999999)
|
|
Atime int64 `protobuf:"varint,22,opt,name=atime,proto3" json:"atime,omitempty"` // unix time in seconds, last access time
|
|
AtimeNs int32 `protobuf:"varint,23,opt,name=atime_ns,json=atimeNs,proto3" json:"atime_ns,omitempty"` // nanosecond component of atime (0-999999999)
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FuseAttributes) Reset() {
|
|
*x = FuseAttributes{}
|
|
mi := &file_filer_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FuseAttributes) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FuseAttributes) ProtoMessage() {}
|
|
|
|
func (x *FuseAttributes) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[11]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FuseAttributes.ProtoReflect.Descriptor instead.
|
|
func (*FuseAttributes) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *FuseAttributes) GetFileSize() uint64 {
|
|
if x != nil {
|
|
return x.FileSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetMtime() int64 {
|
|
if x != nil {
|
|
return x.Mtime
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetFileMode() uint32 {
|
|
if x != nil {
|
|
return x.FileMode
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetUid() uint32 {
|
|
if x != nil {
|
|
return x.Uid
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetGid() uint32 {
|
|
if x != nil {
|
|
return x.Gid
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetCrtime() int64 {
|
|
if x != nil {
|
|
return x.Crtime
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetMime() string {
|
|
if x != nil {
|
|
return x.Mime
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FuseAttributes) GetTtlSec() int32 {
|
|
if x != nil {
|
|
return x.TtlSec
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetUserName() string {
|
|
if x != nil {
|
|
return x.UserName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FuseAttributes) GetGroupName() []string {
|
|
if x != nil {
|
|
return x.GroupName
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *FuseAttributes) GetSymlinkTarget() string {
|
|
if x != nil {
|
|
return x.SymlinkTarget
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FuseAttributes) GetMd5() []byte {
|
|
if x != nil {
|
|
return x.Md5
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *FuseAttributes) GetRdev() uint32 {
|
|
if x != nil {
|
|
return x.Rdev
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetInode() uint64 {
|
|
if x != nil {
|
|
return x.Inode
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetCtime() int64 {
|
|
if x != nil {
|
|
return x.Ctime
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetMtimeNs() int32 {
|
|
if x != nil {
|
|
return x.MtimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetCtimeNs() int32 {
|
|
if x != nil {
|
|
return x.CtimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetCrtimeNs() int32 {
|
|
if x != nil {
|
|
return x.CrtimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetAtime() int64 {
|
|
if x != nil {
|
|
return x.Atime
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FuseAttributes) GetAtimeNs() int32 {
|
|
if x != nil {
|
|
return x.AtimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type CreateEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Entry *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"`
|
|
OExcl bool `protobuf:"varint,3,opt,name=o_excl,json=oExcl,proto3" json:"o_excl,omitempty"`
|
|
IsFromOtherCluster bool `protobuf:"varint,4,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
|
|
Signatures []int32 `protobuf:"varint,5,rep,packed,name=signatures,proto3" json:"signatures,omitempty"`
|
|
SkipCheckParentDirectory bool `protobuf:"varint,6,opt,name=skip_check_parent_directory,json=skipCheckParentDirectory,proto3" json:"skip_check_parent_directory,omitempty"`
|
|
// Optional precondition evaluated against the current entry atomically with
|
|
// the write, under the filer's per-path lock. The caller must route the
|
|
// key's writes to this entry's owner filer for the check to be authoritative.
|
|
Condition *WriteCondition `protobuf:"bytes,7,opt,name=condition,proto3" json:"condition,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *CreateEntryRequest) Reset() {
|
|
*x = CreateEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *CreateEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CreateEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *CreateEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[12]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CreateEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*CreateEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *CreateEntryRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateEntryRequest) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *CreateEntryRequest) GetOExcl() bool {
|
|
if x != nil {
|
|
return x.OExcl
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *CreateEntryRequest) GetIsFromOtherCluster() bool {
|
|
if x != nil {
|
|
return x.IsFromOtherCluster
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *CreateEntryRequest) GetSignatures() []int32 {
|
|
if x != nil {
|
|
return x.Signatures
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *CreateEntryRequest) GetSkipCheckParentDirectory() bool {
|
|
if x != nil {
|
|
return x.SkipCheckParentDirectory
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *CreateEntryRequest) GetCondition() *WriteCondition {
|
|
if x != nil {
|
|
return x.Condition
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// WriteCondition is the precondition the filer evaluates against the existing
|
|
// entry before writing, under the per-path lock. A failed condition returns
|
|
// FilerError PRECONDITION_FAILED. The client maps request semantics (e.g. RFC
|
|
// 7232) to clauses; the filer just compares.
|
|
//
|
|
// A condition is a list of clauses that ALL must hold (logical AND). One clause
|
|
// is the common case; several express what a single comparison cannot: an ETag
|
|
// set (If-Match / If-None-Match with multiple values), weak-ETag comparison, and
|
|
// compound conditions (e.g. If-Match + If-Unmodified-Since together).
|
|
type WriteCondition struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Clauses []*WriteCondition_Clause `protobuf:"bytes,1,rep,name=clauses,proto3" json:"clauses,omitempty"` // all must hold (logical AND)
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *WriteCondition) Reset() {
|
|
*x = WriteCondition{}
|
|
mi := &file_filer_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *WriteCondition) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteCondition) ProtoMessage() {}
|
|
|
|
func (x *WriteCondition) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[13]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteCondition.ProtoReflect.Descriptor instead.
|
|
func (*WriteCondition) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *WriteCondition) GetClauses() []*WriteCondition_Clause {
|
|
if x != nil {
|
|
return x.Clauses
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ObjectMutation is one entry-level change applied by ObjectTransaction. All
|
|
// mutations of a transaction run under a single per-path lock (the request's
|
|
// lock_key) and in order, so the gateway can describe a multi-entry object
|
|
// operation as one request instead of holding a distributed lock across
|
|
// several RPCs. Data-bearing writes (entries with chunks) should be written
|
|
// before the transaction; mutations here are metadata-scoped.
|
|
type ObjectMutation struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Type ObjectMutation_Type `protobuf:"varint,1,opt,name=type,proto3,enum=filer_pb.ObjectMutation_Type" json:"type,omitempty"`
|
|
Directory string `protobuf:"bytes,2,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // entry name for DELETE / PATCH_EXTENDED / RECOMPUTE_LATEST (the pointer entry)
|
|
Entry *Entry `protobuf:"bytes,4,opt,name=entry,proto3" json:"entry,omitempty"` // full entry for PUT
|
|
SetExtended map[string][]byte `protobuf:"bytes,5,rep,name=set_extended,json=setExtended,proto3" json:"set_extended,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // PATCH_EXTENDED: keys to set
|
|
DeleteExtended []string `protobuf:"bytes,6,rep,name=delete_extended,json=deleteExtended,proto3" json:"delete_extended,omitempty"` // PATCH_EXTENDED: keys to remove
|
|
IsDeleteData bool `protobuf:"varint,7,opt,name=is_delete_data,json=isDeleteData,proto3" json:"is_delete_data,omitempty"` // DELETE: also delete chunk data
|
|
IsRecursive bool `protobuf:"varint,8,opt,name=is_recursive,json=isRecursive,proto3" json:"is_recursive,omitempty"` // DELETE: recurse into a directory
|
|
Recompute *Recompute `protobuf:"bytes,9,opt,name=recompute,proto3" json:"recompute,omitempty"` // RECOMPUTE_LATEST parameters
|
|
SetContent bool `protobuf:"varint,10,opt,name=set_content,json=setContent,proto3" json:"set_content,omitempty"` // PATCH_EXTENDED: replace Entry.content with content
|
|
Content []byte `protobuf:"bytes,11,opt,name=content,proto3" json:"content,omitempty"` // PATCH_EXTENDED: new Entry.content when set_content
|
|
TouchMtime bool `protobuf:"varint,12,opt,name=touch_mtime,json=touchMtime,proto3" json:"touch_mtime,omitempty"` // PATCH_EXTENDED: set the entry's Mtime to now (e.g. a metadata-replace copy)
|
|
RemoveEmptyParent bool `protobuf:"varint,13,opt,name=remove_empty_parent,json=removeEmptyParent,proto3" json:"remove_empty_parent,omitempty"` // DELETE: also remove the parent directory when the delete leaves it empty (best-effort)
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ObjectMutation) Reset() {
|
|
*x = ObjectMutation{}
|
|
mi := &file_filer_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ObjectMutation) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ObjectMutation) ProtoMessage() {}
|
|
|
|
func (x *ObjectMutation) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[14]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ObjectMutation.ProtoReflect.Descriptor instead.
|
|
func (*ObjectMutation) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *ObjectMutation) GetType() ObjectMutation_Type {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ObjectMutation_PUT
|
|
}
|
|
|
|
func (x *ObjectMutation) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ObjectMutation) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ObjectMutation) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectMutation) GetSetExtended() map[string][]byte {
|
|
if x != nil {
|
|
return x.SetExtended
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectMutation) GetDeleteExtended() []string {
|
|
if x != nil {
|
|
return x.DeleteExtended
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectMutation) GetIsDeleteData() bool {
|
|
if x != nil {
|
|
return x.IsDeleteData
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ObjectMutation) GetIsRecursive() bool {
|
|
if x != nil {
|
|
return x.IsRecursive
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ObjectMutation) GetRecompute() *Recompute {
|
|
if x != nil {
|
|
return x.Recompute
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectMutation) GetSetContent() bool {
|
|
if x != nil {
|
|
return x.SetContent
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ObjectMutation) GetContent() []byte {
|
|
if x != nil {
|
|
return x.Content
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectMutation) GetTouchMtime() bool {
|
|
if x != nil {
|
|
return x.TouchMtime
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ObjectMutation) GetRemoveEmptyParent() bool {
|
|
if x != nil {
|
|
return x.RemoveEmptyParent
|
|
}
|
|
return false
|
|
}
|
|
|
|
// Recompute re-derives a pointer entry (directory/name on the mutation) from the
|
|
// current contents of a scanned directory, atomically under the transaction's
|
|
// lock. It is mechanical: the filer picks the child that sorts first or last by
|
|
// name and copies the requested fields into the pointer; it has no knowledge of
|
|
// what the entries mean. The caller (which does know the versioning scheme)
|
|
// supplies the sort direction and the key mappings. This covers re-pointing the
|
|
// latest version after a specific version is deleted, where the scan must run
|
|
// under the lock.
|
|
type Recompute struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
ScanDir string `protobuf:"bytes,1,opt,name=scan_dir,json=scanDir,proto3" json:"scan_dir,omitempty"` // directory whose direct children are scanned
|
|
Descending bool `protobuf:"varint,2,opt,name=descending,proto3" json:"descending,omitempty"` // pick the child that sorts last by name (else first)
|
|
CopyExtended map[string]string `protobuf:"bytes,3,rep,name=copy_extended,json=copyExtended,proto3" json:"copy_extended,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // pointer extended key -> source extended key on the chosen child
|
|
NameToKey string `protobuf:"bytes,4,opt,name=name_to_key,json=nameToKey,proto3" json:"name_to_key,omitempty"` // if set, store the chosen child's name under this pointer key
|
|
SizeToKey string `protobuf:"bytes,5,opt,name=size_to_key,json=sizeToKey,proto3" json:"size_to_key,omitempty"` // if set, store the chosen child's FileSize (decimal) under this pointer key
|
|
MtimeToKey string `protobuf:"bytes,6,opt,name=mtime_to_key,json=mtimeToKey,proto3" json:"mtime_to_key,omitempty"` // if set, store the chosen child's Mtime (decimal) under this pointer key
|
|
DemoteKey string `protobuf:"bytes,7,opt,name=demote_key,json=demoteKey,proto3" json:"demote_key,omitempty"` // if set, stamp demote_value on the prior name_to_key target when it changes
|
|
DemoteValue []byte `protobuf:"bytes,8,opt,name=demote_value,json=demoteValue,proto3" json:"demote_value,omitempty"` // value for demote_key
|
|
ExcludeName string `protobuf:"bytes,9,opt,name=exclude_name,json=excludeName,proto3" json:"exclude_name,omitempty"` // if set, skip this child when scanning (e.g. a version about to be deleted)
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Recompute) Reset() {
|
|
*x = Recompute{}
|
|
mi := &file_filer_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Recompute) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Recompute) ProtoMessage() {}
|
|
|
|
func (x *Recompute) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[15]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Recompute.ProtoReflect.Descriptor instead.
|
|
func (*Recompute) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *Recompute) GetScanDir() string {
|
|
if x != nil {
|
|
return x.ScanDir
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Recompute) GetDescending() bool {
|
|
if x != nil {
|
|
return x.Descending
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Recompute) GetCopyExtended() map[string]string {
|
|
if x != nil {
|
|
return x.CopyExtended
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Recompute) GetNameToKey() string {
|
|
if x != nil {
|
|
return x.NameToKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Recompute) GetSizeToKey() string {
|
|
if x != nil {
|
|
return x.SizeToKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Recompute) GetMtimeToKey() string {
|
|
if x != nil {
|
|
return x.MtimeToKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Recompute) GetDemoteKey() string {
|
|
if x != nil {
|
|
return x.DemoteKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Recompute) GetDemoteValue() []byte {
|
|
if x != nil {
|
|
return x.DemoteValue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Recompute) GetExcludeName() string {
|
|
if x != nil {
|
|
return x.ExcludeName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// ObjectTransactionRequest applies an ordered list of mutations atomically with
|
|
// respect to other writers of the same object, by holding the filer's per-path
|
|
// lock on lock_key for the whole transaction. The optional condition is checked
|
|
// first, against condition_key when set, else lock_key. Callers set route_key to
|
|
// the object's stable owner ring key; a filer that is not the owner forwards the
|
|
// transaction one hop to the owner, so a stale ring view is tolerated.
|
|
type ObjectTransactionRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
LockKey string `protobuf:"bytes,1,opt,name=lock_key,json=lockKey,proto3" json:"lock_key,omitempty"` // object path to lock and to evaluate the condition against
|
|
Condition *WriteCondition `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"` // optional precondition, checked under the lock
|
|
Mutations []*ObjectMutation `protobuf:"bytes,3,rep,name=mutations,proto3" json:"mutations,omitempty"`
|
|
IsFromOtherCluster bool `protobuf:"varint,4,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
|
|
Signatures []int32 `protobuf:"varint,5,rep,packed,name=signatures,proto3" json:"signatures,omitempty"`
|
|
ConditionKey string `protobuf:"bytes,6,opt,name=condition_key,json=conditionKey,proto3" json:"condition_key,omitempty"` // if set, evaluate the condition against this entry instead of lock_key (still locking lock_key)
|
|
RouteKey string `protobuf:"bytes,7,opt,name=route_key,json=routeKey,proto3" json:"route_key,omitempty"` // ring key identifying the owner filer; a non-owner forwards the whole transaction to it
|
|
IsMoved bool `protobuf:"varint,8,opt,name=is_moved,json=isMoved,proto3" json:"is_moved,omitempty"` // set on a forwarded transaction so the receiver applies it locally instead of forwarding again
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) Reset() {
|
|
*x = ObjectTransactionRequest{}
|
|
mi := &file_filer_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ObjectTransactionRequest) ProtoMessage() {}
|
|
|
|
func (x *ObjectTransactionRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[16]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ObjectTransactionRequest.ProtoReflect.Descriptor instead.
|
|
func (*ObjectTransactionRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetLockKey() string {
|
|
if x != nil {
|
|
return x.LockKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetCondition() *WriteCondition {
|
|
if x != nil {
|
|
return x.Condition
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetMutations() []*ObjectMutation {
|
|
if x != nil {
|
|
return x.Mutations
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetIsFromOtherCluster() bool {
|
|
if x != nil {
|
|
return x.IsFromOtherCluster
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetSignatures() []int32 {
|
|
if x != nil {
|
|
return x.Signatures
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetConditionKey() string {
|
|
if x != nil {
|
|
return x.ConditionKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetRouteKey() string {
|
|
if x != nil {
|
|
return x.RouteKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ObjectTransactionRequest) GetIsMoved() bool {
|
|
if x != nil {
|
|
return x.IsMoved
|
|
}
|
|
return false
|
|
}
|
|
|
|
type ObjectTransactionResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
|
|
ErrorCode FilerError `protobuf:"varint,2,opt,name=error_code,json=errorCode,proto3,enum=filer_pb.FilerError" json:"error_code,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ObjectTransactionResponse) Reset() {
|
|
*x = ObjectTransactionResponse{}
|
|
mi := &file_filer_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ObjectTransactionResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ObjectTransactionResponse) ProtoMessage() {}
|
|
|
|
func (x *ObjectTransactionResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[17]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ObjectTransactionResponse.ProtoReflect.Descriptor instead.
|
|
func (*ObjectTransactionResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *ObjectTransactionResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ObjectTransactionResponse) GetErrorCode() FilerError {
|
|
if x != nil {
|
|
return x.ErrorCode
|
|
}
|
|
return FilerError_OK
|
|
}
|
|
|
|
// PosixLockRange is one advisory byte-range lock. Owner identity is (sid, owner):
|
|
// sid is the mount session, owner the FUSE lock owner within it, so owners from
|
|
// different mounts never alias. end is inclusive (max uint64 = to EOF); is_flock
|
|
// separates the flock and fcntl namespaces, which never conflict.
|
|
type PosixLockRange struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Start uint64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
|
|
End uint64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
|
|
Type uint32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` // 1=read, 2=write, 3=unlock
|
|
Sid uint64 `protobuf:"varint,4,opt,name=sid,proto3" json:"sid,omitempty"`
|
|
Owner uint64 `protobuf:"varint,5,opt,name=owner,proto3" json:"owner,omitempty"`
|
|
Pid uint32 `protobuf:"varint,6,opt,name=pid,proto3" json:"pid,omitempty"` // holder pid, for get_lk reporting only
|
|
IsFlock bool `protobuf:"varint,7,opt,name=is_flock,json=isFlock,proto3" json:"is_flock,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PosixLockRange) Reset() {
|
|
*x = PosixLockRange{}
|
|
mi := &file_filer_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PosixLockRange) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PosixLockRange) ProtoMessage() {}
|
|
|
|
func (x *PosixLockRange) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[18]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PosixLockRange.ProtoReflect.Descriptor instead.
|
|
func (*PosixLockRange) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *PosixLockRange) GetStart() uint64 {
|
|
if x != nil {
|
|
return x.Start
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PosixLockRange) GetEnd() uint64 {
|
|
if x != nil {
|
|
return x.End
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PosixLockRange) GetType() uint32 {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PosixLockRange) GetSid() uint64 {
|
|
if x != nil {
|
|
return x.Sid
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PosixLockRange) GetOwner() uint64 {
|
|
if x != nil {
|
|
return x.Owner
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PosixLockRange) GetPid() uint32 {
|
|
if x != nil {
|
|
return x.Pid
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PosixLockRange) GetIsFlock() bool {
|
|
if x != nil {
|
|
return x.IsFlock
|
|
}
|
|
return false
|
|
}
|
|
|
|
// PosixLock routes an advisory lock operation to the inode's owner filer, which
|
|
// holds the authoritative in-memory lock table. key is the inode identity ring
|
|
// key (the file path, or hl:<HardLinkId> for a hardlink) used both to resolve the
|
|
// owner and to index the table. A non-owner filer forwards the request one hop;
|
|
// is_moved bounds it so a stale ring view cannot loop.
|
|
type PosixLockRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
|
IsMoved bool `protobuf:"varint,2,opt,name=is_moved,json=isMoved,proto3" json:"is_moved,omitempty"`
|
|
Op PosixLockOp `protobuf:"varint,3,opt,name=op,proto3,enum=filer_pb.PosixLockOp" json:"op,omitempty"`
|
|
Lock *PosixLockRange `protobuf:"bytes,4,opt,name=lock,proto3" json:"lock,omitempty"`
|
|
// locks carries the full set a mount holds on key for a KEEP_ALIVE
|
|
// re-assertion, so the current owner filer can rebuild its in-memory state
|
|
// after an ownership change or restart. lock.sid identifies the session.
|
|
Locks []*PosixLockRange `protobuf:"bytes,5,rep,name=locks,proto3" json:"locks,omitempty"`
|
|
// cooling_probe marks a dual-read a new owner sends to the previous owner
|
|
// during a ring change, so the previous owner answers from local state
|
|
// without itself cooling-off (no recursion).
|
|
CoolingProbe bool `protobuf:"varint,6,opt,name=cooling_probe,json=coolingProbe,proto3" json:"cooling_probe,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PosixLockRequest) Reset() {
|
|
*x = PosixLockRequest{}
|
|
mi := &file_filer_proto_msgTypes[19]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PosixLockRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PosixLockRequest) ProtoMessage() {}
|
|
|
|
func (x *PosixLockRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[19]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PosixLockRequest.ProtoReflect.Descriptor instead.
|
|
func (*PosixLockRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{19}
|
|
}
|
|
|
|
func (x *PosixLockRequest) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PosixLockRequest) GetIsMoved() bool {
|
|
if x != nil {
|
|
return x.IsMoved
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *PosixLockRequest) GetOp() PosixLockOp {
|
|
if x != nil {
|
|
return x.Op
|
|
}
|
|
return PosixLockOp_TRY_LOCK
|
|
}
|
|
|
|
func (x *PosixLockRequest) GetLock() *PosixLockRange {
|
|
if x != nil {
|
|
return x.Lock
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PosixLockRequest) GetLocks() []*PosixLockRange {
|
|
if x != nil {
|
|
return x.Locks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PosixLockRequest) GetCoolingProbe() bool {
|
|
if x != nil {
|
|
return x.CoolingProbe
|
|
}
|
|
return false
|
|
}
|
|
|
|
type PosixLockResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Granted bool `protobuf:"varint,1,opt,name=granted,proto3" json:"granted,omitempty"` // for TRY_LOCK: whether the lock was granted
|
|
HasConflict bool `protobuf:"varint,2,opt,name=has_conflict,json=hasConflict,proto3" json:"has_conflict,omitempty"` // whether conflict is populated
|
|
Conflict *PosixLockRange `protobuf:"bytes,3,opt,name=conflict,proto3" json:"conflict,omitempty"` // the blocking lock (TRY_LOCK conflict / GET_LK result)
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PosixLockResponse) Reset() {
|
|
*x = PosixLockResponse{}
|
|
mi := &file_filer_proto_msgTypes[20]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PosixLockResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PosixLockResponse) ProtoMessage() {}
|
|
|
|
func (x *PosixLockResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[20]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PosixLockResponse.ProtoReflect.Descriptor instead.
|
|
func (*PosixLockResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{20}
|
|
}
|
|
|
|
func (x *PosixLockResponse) GetGranted() bool {
|
|
if x != nil {
|
|
return x.Granted
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *PosixLockResponse) GetHasConflict() bool {
|
|
if x != nil {
|
|
return x.HasConflict
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *PosixLockResponse) GetConflict() *PosixLockRange {
|
|
if x != nil {
|
|
return x.Conflict
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ObjectTransactionBatch applies several object transactions in one round trip,
|
|
// each under its own per-path lock and independent of the others (no cross-key
|
|
// atomicity). A caller groups keys that route to the same owner filer and sends
|
|
// one batch per owner, e.g. for a multi-object delete. Each response is parallel
|
|
// to its request.
|
|
type ObjectTransactionBatchRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Transactions []*ObjectTransactionRequest `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ObjectTransactionBatchRequest) Reset() {
|
|
*x = ObjectTransactionBatchRequest{}
|
|
mi := &file_filer_proto_msgTypes[21]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ObjectTransactionBatchRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ObjectTransactionBatchRequest) ProtoMessage() {}
|
|
|
|
func (x *ObjectTransactionBatchRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[21]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ObjectTransactionBatchRequest.ProtoReflect.Descriptor instead.
|
|
func (*ObjectTransactionBatchRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{21}
|
|
}
|
|
|
|
func (x *ObjectTransactionBatchRequest) GetTransactions() []*ObjectTransactionRequest {
|
|
if x != nil {
|
|
return x.Transactions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ObjectTransactionBatchResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Responses []*ObjectTransactionResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ObjectTransactionBatchResponse) Reset() {
|
|
*x = ObjectTransactionBatchResponse{}
|
|
mi := &file_filer_proto_msgTypes[22]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ObjectTransactionBatchResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ObjectTransactionBatchResponse) ProtoMessage() {}
|
|
|
|
func (x *ObjectTransactionBatchResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[22]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ObjectTransactionBatchResponse.ProtoReflect.Descriptor instead.
|
|
func (*ObjectTransactionBatchResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{22}
|
|
}
|
|
|
|
func (x *ObjectTransactionBatchResponse) GetResponses() []*ObjectTransactionResponse {
|
|
if x != nil {
|
|
return x.Responses
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type CreateEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` // kept for human readability + backward compat
|
|
MetadataEvent *SubscribeMetadataResponse `protobuf:"bytes,2,opt,name=metadata_event,json=metadataEvent,proto3" json:"metadata_event,omitempty"`
|
|
ErrorCode FilerError `protobuf:"varint,3,opt,name=error_code,json=errorCode,proto3,enum=filer_pb.FilerError" json:"error_code,omitempty"` // machine-readable error code
|
|
// filer log position stamped under the path lock before the write:
|
|
// every event at or below it is reflected in the acknowledged state
|
|
LogTsNs int64 `protobuf:"varint,4,opt,name=log_ts_ns,json=logTsNs,proto3" json:"log_ts_ns,omitempty"`
|
|
LogSignature int32 `protobuf:"varint,5,opt,name=log_signature,json=logSignature,proto3" json:"log_signature,omitempty"` // filer whose clock stamped log_ts_ns
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *CreateEntryResponse) Reset() {
|
|
*x = CreateEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[23]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *CreateEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CreateEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *CreateEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[23]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CreateEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*CreateEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{23}
|
|
}
|
|
|
|
func (x *CreateEntryResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateEntryResponse) GetMetadataEvent() *SubscribeMetadataResponse {
|
|
if x != nil {
|
|
return x.MetadataEvent
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *CreateEntryResponse) GetErrorCode() FilerError {
|
|
if x != nil {
|
|
return x.ErrorCode
|
|
}
|
|
return FilerError_OK
|
|
}
|
|
|
|
func (x *CreateEntryResponse) GetLogTsNs() int64 {
|
|
if x != nil {
|
|
return x.LogTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *CreateEntryResponse) GetLogSignature() int32 {
|
|
if x != nil {
|
|
return x.LogSignature
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type UpdateEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Entry *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"`
|
|
IsFromOtherCluster bool `protobuf:"varint,3,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
|
|
Signatures []int32 `protobuf:"varint,4,rep,packed,name=signatures,proto3" json:"signatures,omitempty"`
|
|
ExpectedExtended map[string][]byte `protobuf:"bytes,5,rep,name=expected_extended,json=expectedExtended,proto3" json:"expected_extended,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
// Optional precondition evaluated against the current entry atomically with
|
|
// the write, under the filer's per-path lock. The caller must route the
|
|
// key's writes to this entry's owner filer for the check to be authoritative.
|
|
Condition *WriteCondition `protobuf:"bytes,6,opt,name=condition,proto3" json:"condition,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) Reset() {
|
|
*x = UpdateEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[24]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UpdateEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *UpdateEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[24]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UpdateEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*UpdateEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{24}
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) GetIsFromOtherCluster() bool {
|
|
if x != nil {
|
|
return x.IsFromOtherCluster
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) GetSignatures() []int32 {
|
|
if x != nil {
|
|
return x.Signatures
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) GetExpectedExtended() map[string][]byte {
|
|
if x != nil {
|
|
return x.ExpectedExtended
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateEntryRequest) GetCondition() *WriteCondition {
|
|
if x != nil {
|
|
return x.Condition
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type UpdateEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
MetadataEvent *SubscribeMetadataResponse `protobuf:"bytes,1,opt,name=metadata_event,json=metadataEvent,proto3" json:"metadata_event,omitempty"`
|
|
// filer log position stamped under the path lock before the write:
|
|
// every event at or below it is reflected in the acknowledged state
|
|
LogTsNs int64 `protobuf:"varint,2,opt,name=log_ts_ns,json=logTsNs,proto3" json:"log_ts_ns,omitempty"`
|
|
LogSignature int32 `protobuf:"varint,3,opt,name=log_signature,json=logSignature,proto3" json:"log_signature,omitempty"` // filer whose clock stamped log_ts_ns
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *UpdateEntryResponse) Reset() {
|
|
*x = UpdateEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[25]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *UpdateEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UpdateEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *UpdateEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[25]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UpdateEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*UpdateEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{25}
|
|
}
|
|
|
|
func (x *UpdateEntryResponse) GetMetadataEvent() *SubscribeMetadataResponse {
|
|
if x != nil {
|
|
return x.MetadataEvent
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateEntryResponse) GetLogTsNs() int64 {
|
|
if x != nil {
|
|
return x.LogTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *UpdateEntryResponse) GetLogSignature() int32 {
|
|
if x != nil {
|
|
return x.LogSignature
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type TouchAccessTimeRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
ClientAtimeNs int64 `protobuf:"varint,3,opt,name=client_atime_ns,json=clientAtimeNs,proto3" json:"client_atime_ns,omitempty"` // nanoseconds since epoch; filer may override with relatime
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TouchAccessTimeRequest) Reset() {
|
|
*x = TouchAccessTimeRequest{}
|
|
mi := &file_filer_proto_msgTypes[26]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TouchAccessTimeRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TouchAccessTimeRequest) ProtoMessage() {}
|
|
|
|
func (x *TouchAccessTimeRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[26]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TouchAccessTimeRequest.ProtoReflect.Descriptor instead.
|
|
func (*TouchAccessTimeRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{26}
|
|
}
|
|
|
|
func (x *TouchAccessTimeRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TouchAccessTimeRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TouchAccessTimeRequest) GetClientAtimeNs() int64 {
|
|
if x != nil {
|
|
return x.ClientAtimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type TouchAccessTimeResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
PersistedAtimeNs int64 `protobuf:"varint,1,opt,name=persisted_atime_ns,json=persistedAtimeNs,proto3" json:"persisted_atime_ns,omitempty"` // nanoseconds since epoch; 0 if no update was performed
|
|
Updated bool `protobuf:"varint,2,opt,name=updated,proto3" json:"updated,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TouchAccessTimeResponse) Reset() {
|
|
*x = TouchAccessTimeResponse{}
|
|
mi := &file_filer_proto_msgTypes[27]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TouchAccessTimeResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TouchAccessTimeResponse) ProtoMessage() {}
|
|
|
|
func (x *TouchAccessTimeResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[27]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TouchAccessTimeResponse.ProtoReflect.Descriptor instead.
|
|
func (*TouchAccessTimeResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{27}
|
|
}
|
|
|
|
func (x *TouchAccessTimeResponse) GetPersistedAtimeNs() int64 {
|
|
if x != nil {
|
|
return x.PersistedAtimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *TouchAccessTimeResponse) GetUpdated() bool {
|
|
if x != nil {
|
|
return x.Updated
|
|
}
|
|
return false
|
|
}
|
|
|
|
type AppendToEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
EntryName string `protobuf:"bytes,2,opt,name=entry_name,json=entryName,proto3" json:"entry_name,omitempty"`
|
|
Chunks []*FileChunk `protobuf:"bytes,3,rep,name=chunks,proto3" json:"chunks,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AppendToEntryRequest) Reset() {
|
|
*x = AppendToEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[28]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AppendToEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AppendToEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *AppendToEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[28]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AppendToEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*AppendToEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{28}
|
|
}
|
|
|
|
func (x *AppendToEntryRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AppendToEntryRequest) GetEntryName() string {
|
|
if x != nil {
|
|
return x.EntryName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AppendToEntryRequest) GetChunks() []*FileChunk {
|
|
if x != nil {
|
|
return x.Chunks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type AppendToEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AppendToEntryResponse) Reset() {
|
|
*x = AppendToEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[29]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AppendToEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AppendToEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *AppendToEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[29]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AppendToEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*AppendToEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{29}
|
|
}
|
|
|
|
type DeleteEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
// bool is_directory = 3;
|
|
IsDeleteData bool `protobuf:"varint,4,opt,name=is_delete_data,json=isDeleteData,proto3" json:"is_delete_data,omitempty"`
|
|
IsRecursive bool `protobuf:"varint,5,opt,name=is_recursive,json=isRecursive,proto3" json:"is_recursive,omitempty"`
|
|
IgnoreRecursiveError bool `protobuf:"varint,6,opt,name=ignore_recursive_error,json=ignoreRecursiveError,proto3" json:"ignore_recursive_error,omitempty"`
|
|
IsFromOtherCluster bool `protobuf:"varint,7,opt,name=is_from_other_cluster,json=isFromOtherCluster,proto3" json:"is_from_other_cluster,omitempty"`
|
|
Signatures []int32 `protobuf:"varint,8,rep,packed,name=signatures,proto3" json:"signatures,omitempty"`
|
|
IfNotModifiedAfter int64 `protobuf:"varint,9,opt,name=if_not_modified_after,json=ifNotModifiedAfter,proto3" json:"if_not_modified_after,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) Reset() {
|
|
*x = DeleteEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[30]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[30]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{30}
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetIsDeleteData() bool {
|
|
if x != nil {
|
|
return x.IsDeleteData
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetIsRecursive() bool {
|
|
if x != nil {
|
|
return x.IsRecursive
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetIgnoreRecursiveError() bool {
|
|
if x != nil {
|
|
return x.IgnoreRecursiveError
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetIsFromOtherCluster() bool {
|
|
if x != nil {
|
|
return x.IsFromOtherCluster
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetSignatures() []int32 {
|
|
if x != nil {
|
|
return x.Signatures
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *DeleteEntryRequest) GetIfNotModifiedAfter() int64 {
|
|
if x != nil {
|
|
return x.IfNotModifiedAfter
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type DeleteEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
|
|
MetadataEvent *SubscribeMetadataResponse `protobuf:"bytes,2,opt,name=metadata_event,json=metadataEvent,proto3" json:"metadata_event,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *DeleteEntryResponse) Reset() {
|
|
*x = DeleteEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[31]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *DeleteEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *DeleteEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[31]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*DeleteEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{31}
|
|
}
|
|
|
|
func (x *DeleteEntryResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DeleteEntryResponse) GetMetadataEvent() *SubscribeMetadataResponse {
|
|
if x != nil {
|
|
return x.MetadataEvent
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type AtomicRenameEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
OldDirectory string `protobuf:"bytes,1,opt,name=old_directory,json=oldDirectory,proto3" json:"old_directory,omitempty"`
|
|
OldName string `protobuf:"bytes,2,opt,name=old_name,json=oldName,proto3" json:"old_name,omitempty"`
|
|
NewDirectory string `protobuf:"bytes,3,opt,name=new_directory,json=newDirectory,proto3" json:"new_directory,omitempty"`
|
|
NewName string `protobuf:"bytes,4,opt,name=new_name,json=newName,proto3" json:"new_name,omitempty"`
|
|
Signatures []int32 `protobuf:"varint,5,rep,packed,name=signatures,proto3" json:"signatures,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AtomicRenameEntryRequest) Reset() {
|
|
*x = AtomicRenameEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[32]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AtomicRenameEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AtomicRenameEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *AtomicRenameEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[32]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AtomicRenameEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*AtomicRenameEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{32}
|
|
}
|
|
|
|
func (x *AtomicRenameEntryRequest) GetOldDirectory() string {
|
|
if x != nil {
|
|
return x.OldDirectory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AtomicRenameEntryRequest) GetOldName() string {
|
|
if x != nil {
|
|
return x.OldName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AtomicRenameEntryRequest) GetNewDirectory() string {
|
|
if x != nil {
|
|
return x.NewDirectory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AtomicRenameEntryRequest) GetNewName() string {
|
|
if x != nil {
|
|
return x.NewName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AtomicRenameEntryRequest) GetSignatures() []int32 {
|
|
if x != nil {
|
|
return x.Signatures
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type AtomicRenameEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AtomicRenameEntryResponse) Reset() {
|
|
*x = AtomicRenameEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[33]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AtomicRenameEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AtomicRenameEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *AtomicRenameEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[33]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AtomicRenameEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*AtomicRenameEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{33}
|
|
}
|
|
|
|
type StreamRenameEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
OldDirectory string `protobuf:"bytes,1,opt,name=old_directory,json=oldDirectory,proto3" json:"old_directory,omitempty"`
|
|
OldName string `protobuf:"bytes,2,opt,name=old_name,json=oldName,proto3" json:"old_name,omitempty"`
|
|
NewDirectory string `protobuf:"bytes,3,opt,name=new_directory,json=newDirectory,proto3" json:"new_directory,omitempty"`
|
|
NewName string `protobuf:"bytes,4,opt,name=new_name,json=newName,proto3" json:"new_name,omitempty"`
|
|
Signatures []int32 `protobuf:"varint,5,rep,packed,name=signatures,proto3" json:"signatures,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StreamRenameEntryRequest) Reset() {
|
|
*x = StreamRenameEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[34]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StreamRenameEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StreamRenameEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *StreamRenameEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[34]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StreamRenameEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*StreamRenameEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{34}
|
|
}
|
|
|
|
func (x *StreamRenameEntryRequest) GetOldDirectory() string {
|
|
if x != nil {
|
|
return x.OldDirectory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StreamRenameEntryRequest) GetOldName() string {
|
|
if x != nil {
|
|
return x.OldName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StreamRenameEntryRequest) GetNewDirectory() string {
|
|
if x != nil {
|
|
return x.NewDirectory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StreamRenameEntryRequest) GetNewName() string {
|
|
if x != nil {
|
|
return x.NewName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StreamRenameEntryRequest) GetSignatures() []int32 {
|
|
if x != nil {
|
|
return x.Signatures
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type StreamRenameEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
EventNotification *EventNotification `protobuf:"bytes,2,opt,name=event_notification,json=eventNotification,proto3" json:"event_notification,omitempty"`
|
|
TsNs int64 `protobuf:"varint,3,opt,name=ts_ns,json=tsNs,proto3" json:"ts_ns,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StreamRenameEntryResponse) Reset() {
|
|
*x = StreamRenameEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[35]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StreamRenameEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StreamRenameEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *StreamRenameEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[35]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StreamRenameEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*StreamRenameEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{35}
|
|
}
|
|
|
|
func (x *StreamRenameEntryResponse) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StreamRenameEntryResponse) GetEventNotification() *EventNotification {
|
|
if x != nil {
|
|
return x.EventNotification
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamRenameEntryResponse) GetTsNs() int64 {
|
|
if x != nil {
|
|
return x.TsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type AssignVolumeRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
|
|
Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
Replication string `protobuf:"bytes,3,opt,name=replication,proto3" json:"replication,omitempty"`
|
|
TtlSec int32 `protobuf:"varint,4,opt,name=ttl_sec,json=ttlSec,proto3" json:"ttl_sec,omitempty"`
|
|
DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"`
|
|
Path string `protobuf:"bytes,6,opt,name=path,proto3" json:"path,omitempty"`
|
|
Rack string `protobuf:"bytes,7,opt,name=rack,proto3" json:"rack,omitempty"`
|
|
DataNode string `protobuf:"bytes,9,opt,name=data_node,json=dataNode,proto3" json:"data_node,omitempty"`
|
|
DiskType string `protobuf:"bytes,8,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
|
|
ExpectedDataSize uint64 `protobuf:"varint,10,opt,name=expected_data_size,json=expectedDataSize,proto3" json:"expected_data_size,omitempty"` // hint for size-aware volume selection
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) Reset() {
|
|
*x = AssignVolumeRequest{}
|
|
mi := &file_filer_proto_msgTypes[36]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AssignVolumeRequest) ProtoMessage() {}
|
|
|
|
func (x *AssignVolumeRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[36]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AssignVolumeRequest.ProtoReflect.Descriptor instead.
|
|
func (*AssignVolumeRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{36}
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetCount() int32 {
|
|
if x != nil {
|
|
return x.Count
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetReplication() string {
|
|
if x != nil {
|
|
return x.Replication
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetTtlSec() int32 {
|
|
if x != nil {
|
|
return x.TtlSec
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetDataCenter() string {
|
|
if x != nil {
|
|
return x.DataCenter
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetPath() string {
|
|
if x != nil {
|
|
return x.Path
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetRack() string {
|
|
if x != nil {
|
|
return x.Rack
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetDataNode() string {
|
|
if x != nil {
|
|
return x.DataNode
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetDiskType() string {
|
|
if x != nil {
|
|
return x.DiskType
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeRequest) GetExpectedDataSize() uint64 {
|
|
if x != nil {
|
|
return x.ExpectedDataSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type AssignVolumeResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId,proto3" json:"file_id,omitempty"`
|
|
Count int32 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
|
|
Auth string `protobuf:"bytes,5,opt,name=auth,proto3" json:"auth,omitempty"`
|
|
Collection string `protobuf:"bytes,6,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
Replication string `protobuf:"bytes,7,opt,name=replication,proto3" json:"replication,omitempty"`
|
|
Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`
|
|
Location *Location `protobuf:"bytes,9,opt,name=location,proto3" json:"location,omitempty"`
|
|
Replicas []*Location `protobuf:"bytes,10,rep,name=replicas,proto3" json:"replicas,omitempty"`
|
|
// fsync is the storage rule's fsync decision for the assigned path, so the
|
|
// client can carry it onto the volume server upload request.
|
|
Fsync bool `protobuf:"varint,11,opt,name=fsync,proto3" json:"fsync,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) Reset() {
|
|
*x = AssignVolumeResponse{}
|
|
mi := &file_filer_proto_msgTypes[37]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AssignVolumeResponse) ProtoMessage() {}
|
|
|
|
func (x *AssignVolumeResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[37]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AssignVolumeResponse.ProtoReflect.Descriptor instead.
|
|
func (*AssignVolumeResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{37}
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetFileId() string {
|
|
if x != nil {
|
|
return x.FileId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetCount() int32 {
|
|
if x != nil {
|
|
return x.Count
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetAuth() string {
|
|
if x != nil {
|
|
return x.Auth
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetReplication() string {
|
|
if x != nil {
|
|
return x.Replication
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetLocation() *Location {
|
|
if x != nil {
|
|
return x.Location
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetReplicas() []*Location {
|
|
if x != nil {
|
|
return x.Replicas
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AssignVolumeResponse) GetFsync() bool {
|
|
if x != nil {
|
|
return x.Fsync
|
|
}
|
|
return false
|
|
}
|
|
|
|
type LookupVolumeRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds,proto3" json:"volume_ids,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LookupVolumeRequest) Reset() {
|
|
*x = LookupVolumeRequest{}
|
|
mi := &file_filer_proto_msgTypes[38]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LookupVolumeRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LookupVolumeRequest) ProtoMessage() {}
|
|
|
|
func (x *LookupVolumeRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[38]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LookupVolumeRequest.ProtoReflect.Descriptor instead.
|
|
func (*LookupVolumeRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{38}
|
|
}
|
|
|
|
func (x *LookupVolumeRequest) GetVolumeIds() []string {
|
|
if x != nil {
|
|
return x.VolumeIds
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Locations struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Locations []*Location `protobuf:"bytes,1,rep,name=locations,proto3" json:"locations,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Locations) Reset() {
|
|
*x = Locations{}
|
|
mi := &file_filer_proto_msgTypes[39]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Locations) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Locations) ProtoMessage() {}
|
|
|
|
func (x *Locations) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[39]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Locations.ProtoReflect.Descriptor instead.
|
|
func (*Locations) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{39}
|
|
}
|
|
|
|
func (x *Locations) GetLocations() []*Location {
|
|
if x != nil {
|
|
return x.Locations
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Location struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
|
|
PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl,proto3" json:"public_url,omitempty"`
|
|
GrpcPort uint32 `protobuf:"varint,3,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
|
|
DataCenter string `protobuf:"bytes,4,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"`
|
|
DataInRemote bool `protobuf:"varint,5,opt,name=data_in_remote,json=dataInRemote,proto3" json:"data_in_remote,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Location) Reset() {
|
|
*x = Location{}
|
|
mi := &file_filer_proto_msgTypes[40]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Location) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Location) ProtoMessage() {}
|
|
|
|
func (x *Location) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[40]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Location.ProtoReflect.Descriptor instead.
|
|
func (*Location) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{40}
|
|
}
|
|
|
|
func (x *Location) GetUrl() string {
|
|
if x != nil {
|
|
return x.Url
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Location) GetPublicUrl() string {
|
|
if x != nil {
|
|
return x.PublicUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Location) GetGrpcPort() uint32 {
|
|
if x != nil {
|
|
return x.GrpcPort
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Location) GetDataCenter() string {
|
|
if x != nil {
|
|
return x.DataCenter
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Location) GetDataInRemote() bool {
|
|
if x != nil {
|
|
return x.DataInRemote
|
|
}
|
|
return false
|
|
}
|
|
|
|
type LookupVolumeResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
LocationsMap map[string]*Locations `protobuf:"bytes,1,rep,name=locations_map,json=locationsMap,proto3" json:"locations_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LookupVolumeResponse) Reset() {
|
|
*x = LookupVolumeResponse{}
|
|
mi := &file_filer_proto_msgTypes[41]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LookupVolumeResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LookupVolumeResponse) ProtoMessage() {}
|
|
|
|
func (x *LookupVolumeResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[41]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LookupVolumeResponse.ProtoReflect.Descriptor instead.
|
|
func (*LookupVolumeResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{41}
|
|
}
|
|
|
|
func (x *LookupVolumeResponse) GetLocationsMap() map[string]*Locations {
|
|
if x != nil {
|
|
return x.LocationsMap
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Collection struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Collection) Reset() {
|
|
*x = Collection{}
|
|
mi := &file_filer_proto_msgTypes[42]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Collection) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Collection) ProtoMessage() {}
|
|
|
|
func (x *Collection) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[42]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Collection.ProtoReflect.Descriptor instead.
|
|
func (*Collection) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{42}
|
|
}
|
|
|
|
func (x *Collection) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type CollectionListRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
IncludeNormalVolumes bool `protobuf:"varint,1,opt,name=include_normal_volumes,json=includeNormalVolumes,proto3" json:"include_normal_volumes,omitempty"`
|
|
IncludeEcVolumes bool `protobuf:"varint,2,opt,name=include_ec_volumes,json=includeEcVolumes,proto3" json:"include_ec_volumes,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *CollectionListRequest) Reset() {
|
|
*x = CollectionListRequest{}
|
|
mi := &file_filer_proto_msgTypes[43]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *CollectionListRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CollectionListRequest) ProtoMessage() {}
|
|
|
|
func (x *CollectionListRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[43]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CollectionListRequest.ProtoReflect.Descriptor instead.
|
|
func (*CollectionListRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{43}
|
|
}
|
|
|
|
func (x *CollectionListRequest) GetIncludeNormalVolumes() bool {
|
|
if x != nil {
|
|
return x.IncludeNormalVolumes
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *CollectionListRequest) GetIncludeEcVolumes() bool {
|
|
if x != nil {
|
|
return x.IncludeEcVolumes
|
|
}
|
|
return false
|
|
}
|
|
|
|
type CollectionListResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Collections []*Collection `protobuf:"bytes,1,rep,name=collections,proto3" json:"collections,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *CollectionListResponse) Reset() {
|
|
*x = CollectionListResponse{}
|
|
mi := &file_filer_proto_msgTypes[44]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *CollectionListResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CollectionListResponse) ProtoMessage() {}
|
|
|
|
func (x *CollectionListResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[44]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CollectionListResponse.ProtoReflect.Descriptor instead.
|
|
func (*CollectionListResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{44}
|
|
}
|
|
|
|
func (x *CollectionListResponse) GetCollections() []*Collection {
|
|
if x != nil {
|
|
return x.Collections
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type DeleteCollectionRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *DeleteCollectionRequest) Reset() {
|
|
*x = DeleteCollectionRequest{}
|
|
mi := &file_filer_proto_msgTypes[45]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *DeleteCollectionRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteCollectionRequest) ProtoMessage() {}
|
|
|
|
func (x *DeleteCollectionRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[45]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteCollectionRequest.ProtoReflect.Descriptor instead.
|
|
func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{45}
|
|
}
|
|
|
|
func (x *DeleteCollectionRequest) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type DeleteCollectionResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *DeleteCollectionResponse) Reset() {
|
|
*x = DeleteCollectionResponse{}
|
|
mi := &file_filer_proto_msgTypes[46]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *DeleteCollectionResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DeleteCollectionResponse) ProtoMessage() {}
|
|
|
|
func (x *DeleteCollectionResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[46]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DeleteCollectionResponse.ProtoReflect.Descriptor instead.
|
|
func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{46}
|
|
}
|
|
|
|
type StatisticsRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Replication string `protobuf:"bytes,1,opt,name=replication,proto3" json:"replication,omitempty"`
|
|
Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
Ttl string `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
|
|
DiskType string `protobuf:"bytes,4,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StatisticsRequest) Reset() {
|
|
*x = StatisticsRequest{}
|
|
mi := &file_filer_proto_msgTypes[47]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StatisticsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StatisticsRequest) ProtoMessage() {}
|
|
|
|
func (x *StatisticsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[47]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StatisticsRequest.ProtoReflect.Descriptor instead.
|
|
func (*StatisticsRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{47}
|
|
}
|
|
|
|
func (x *StatisticsRequest) GetReplication() string {
|
|
if x != nil {
|
|
return x.Replication
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StatisticsRequest) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StatisticsRequest) GetTtl() string {
|
|
if x != nil {
|
|
return x.Ttl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StatisticsRequest) GetDiskType() string {
|
|
if x != nil {
|
|
return x.DiskType
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type StatisticsResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
TotalSize uint64 `protobuf:"varint,4,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
|
|
UsedSize uint64 `protobuf:"varint,5,opt,name=used_size,json=usedSize,proto3" json:"used_size,omitempty"`
|
|
FileCount uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"`
|
|
// sizes counting one copy of the data, as reported by the master
|
|
LogicalTotalSize uint64 `protobuf:"varint,7,opt,name=logical_total_size,json=logicalTotalSize,proto3" json:"logical_total_size,omitempty"`
|
|
LogicalUsedSize uint64 `protobuf:"varint,8,opt,name=logical_used_size,json=logicalUsedSize,proto3" json:"logical_used_size,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StatisticsResponse) Reset() {
|
|
*x = StatisticsResponse{}
|
|
mi := &file_filer_proto_msgTypes[48]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StatisticsResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StatisticsResponse) ProtoMessage() {}
|
|
|
|
func (x *StatisticsResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[48]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StatisticsResponse.ProtoReflect.Descriptor instead.
|
|
func (*StatisticsResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{48}
|
|
}
|
|
|
|
func (x *StatisticsResponse) GetTotalSize() uint64 {
|
|
if x != nil {
|
|
return x.TotalSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StatisticsResponse) GetUsedSize() uint64 {
|
|
if x != nil {
|
|
return x.UsedSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StatisticsResponse) GetFileCount() uint64 {
|
|
if x != nil {
|
|
return x.FileCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StatisticsResponse) GetLogicalTotalSize() uint64 {
|
|
if x != nil {
|
|
return x.LogicalTotalSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StatisticsResponse) GetLogicalUsedSize() uint64 {
|
|
if x != nil {
|
|
return x.LogicalUsedSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type PingRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` // default to ping itself
|
|
TargetType string `protobuf:"bytes,2,opt,name=target_type,json=targetType,proto3" json:"target_type,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PingRequest) Reset() {
|
|
*x = PingRequest{}
|
|
mi := &file_filer_proto_msgTypes[49]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PingRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PingRequest) ProtoMessage() {}
|
|
|
|
func (x *PingRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[49]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PingRequest.ProtoReflect.Descriptor instead.
|
|
func (*PingRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{49}
|
|
}
|
|
|
|
func (x *PingRequest) GetTarget() string {
|
|
if x != nil {
|
|
return x.Target
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PingRequest) GetTargetType() string {
|
|
if x != nil {
|
|
return x.TargetType
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type PingResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
StartTimeNs int64 `protobuf:"varint,1,opt,name=start_time_ns,json=startTimeNs,proto3" json:"start_time_ns,omitempty"`
|
|
RemoteTimeNs int64 `protobuf:"varint,2,opt,name=remote_time_ns,json=remoteTimeNs,proto3" json:"remote_time_ns,omitempty"`
|
|
StopTimeNs int64 `protobuf:"varint,3,opt,name=stop_time_ns,json=stopTimeNs,proto3" json:"stop_time_ns,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PingResponse) Reset() {
|
|
*x = PingResponse{}
|
|
mi := &file_filer_proto_msgTypes[50]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PingResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PingResponse) ProtoMessage() {}
|
|
|
|
func (x *PingResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[50]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PingResponse.ProtoReflect.Descriptor instead.
|
|
func (*PingResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{50}
|
|
}
|
|
|
|
func (x *PingResponse) GetStartTimeNs() int64 {
|
|
if x != nil {
|
|
return x.StartTimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PingResponse) GetRemoteTimeNs() int64 {
|
|
if x != nil {
|
|
return x.RemoteTimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PingResponse) GetStopTimeNs() int64 {
|
|
if x != nil {
|
|
return x.StopTimeNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type GetFilerConfigurationRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *GetFilerConfigurationRequest) Reset() {
|
|
*x = GetFilerConfigurationRequest{}
|
|
mi := &file_filer_proto_msgTypes[51]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *GetFilerConfigurationRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetFilerConfigurationRequest) ProtoMessage() {}
|
|
|
|
func (x *GetFilerConfigurationRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[51]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetFilerConfigurationRequest.ProtoReflect.Descriptor instead.
|
|
func (*GetFilerConfigurationRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{51}
|
|
}
|
|
|
|
type GetFilerConfigurationResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Masters []string `protobuf:"bytes,1,rep,name=masters,proto3" json:"masters,omitempty"`
|
|
Replication string `protobuf:"bytes,2,opt,name=replication,proto3" json:"replication,omitempty"`
|
|
Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
MaxMb uint32 `protobuf:"varint,4,opt,name=max_mb,json=maxMb,proto3" json:"max_mb,omitempty"`
|
|
DirBuckets string `protobuf:"bytes,5,opt,name=dir_buckets,json=dirBuckets,proto3" json:"dir_buckets,omitempty"`
|
|
Cipher bool `protobuf:"varint,7,opt,name=cipher,proto3" json:"cipher,omitempty"`
|
|
Signature int32 `protobuf:"varint,8,opt,name=signature,proto3" json:"signature,omitempty"`
|
|
MetricsAddress string `protobuf:"bytes,9,opt,name=metrics_address,json=metricsAddress,proto3" json:"metrics_address,omitempty"`
|
|
MetricsIntervalSec int32 `protobuf:"varint,10,opt,name=metrics_interval_sec,json=metricsIntervalSec,proto3" json:"metrics_interval_sec,omitempty"`
|
|
Version string `protobuf:"bytes,11,opt,name=version,proto3" json:"version,omitempty"`
|
|
ClusterId string `protobuf:"bytes,12,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
|
|
FilerGroup string `protobuf:"bytes,13,opt,name=filer_group,json=filerGroup,proto3" json:"filer_group,omitempty"`
|
|
MajorVersion int32 `protobuf:"varint,14,opt,name=major_version,json=majorVersion,proto3" json:"major_version,omitempty"`
|
|
MinorVersion int32 `protobuf:"varint,15,opt,name=minor_version,json=minorVersion,proto3" json:"minor_version,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) Reset() {
|
|
*x = GetFilerConfigurationResponse{}
|
|
mi := &file_filer_proto_msgTypes[52]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*GetFilerConfigurationResponse) ProtoMessage() {}
|
|
|
|
func (x *GetFilerConfigurationResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[52]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use GetFilerConfigurationResponse.ProtoReflect.Descriptor instead.
|
|
func (*GetFilerConfigurationResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{52}
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetMasters() []string {
|
|
if x != nil {
|
|
return x.Masters
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetReplication() string {
|
|
if x != nil {
|
|
return x.Replication
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetMaxMb() uint32 {
|
|
if x != nil {
|
|
return x.MaxMb
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetDirBuckets() string {
|
|
if x != nil {
|
|
return x.DirBuckets
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetCipher() bool {
|
|
if x != nil {
|
|
return x.Cipher
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetSignature() int32 {
|
|
if x != nil {
|
|
return x.Signature
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetMetricsAddress() string {
|
|
if x != nil {
|
|
return x.MetricsAddress
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetMetricsIntervalSec() int32 {
|
|
if x != nil {
|
|
return x.MetricsIntervalSec
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetClusterId() string {
|
|
if x != nil {
|
|
return x.ClusterId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetFilerGroup() string {
|
|
if x != nil {
|
|
return x.FilerGroup
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetMajorVersion() int32 {
|
|
if x != nil {
|
|
return x.MajorVersion
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *GetFilerConfigurationResponse) GetMinorVersion() int32 {
|
|
if x != nil {
|
|
return x.MinorVersion
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type SubscribeMetadataRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
ClientName string `protobuf:"bytes,1,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
|
|
PathPrefix string `protobuf:"bytes,2,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"`
|
|
SinceNs int64 `protobuf:"varint,3,opt,name=since_ns,json=sinceNs,proto3" json:"since_ns,omitempty"`
|
|
Signature int32 `protobuf:"varint,4,opt,name=signature,proto3" json:"signature,omitempty"`
|
|
PathPrefixes []string `protobuf:"bytes,6,rep,name=path_prefixes,json=pathPrefixes,proto3" json:"path_prefixes,omitempty"`
|
|
ClientId int32 `protobuf:"varint,7,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
|
|
UntilNs int64 `protobuf:"varint,8,opt,name=until_ns,json=untilNs,proto3" json:"until_ns,omitempty"`
|
|
ClientEpoch int32 `protobuf:"varint,9,opt,name=client_epoch,json=clientEpoch,proto3" json:"client_epoch,omitempty"`
|
|
Directories []string `protobuf:"bytes,10,rep,name=directories,proto3" json:"directories,omitempty"` // exact directory to watch
|
|
ClientSupportsBatching bool `protobuf:"varint,11,opt,name=client_supports_batching,json=clientSupportsBatching,proto3" json:"client_supports_batching,omitempty"` // client can unpack SubscribeMetadataResponse.events
|
|
ClientSupportsMetadataChunks bool `protobuf:"varint,12,opt,name=client_supports_metadata_chunks,json=clientSupportsMetadataChunks,proto3" json:"client_supports_metadata_chunks,omitempty"` // client can read log file chunks from volume servers
|
|
ClientSupportsIdleHeartbeat bool `protobuf:"varint,13,opt,name=client_supports_idle_heartbeat,json=clientSupportsIdleHeartbeat,proto3" json:"client_supports_idle_heartbeat,omitempty"` // server may send empty responses carrying the current time while the client is caught up
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) Reset() {
|
|
*x = SubscribeMetadataRequest{}
|
|
mi := &file_filer_proto_msgTypes[53]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SubscribeMetadataRequest) ProtoMessage() {}
|
|
|
|
func (x *SubscribeMetadataRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[53]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SubscribeMetadataRequest.ProtoReflect.Descriptor instead.
|
|
func (*SubscribeMetadataRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{53}
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetClientName() string {
|
|
if x != nil {
|
|
return x.ClientName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetPathPrefix() string {
|
|
if x != nil {
|
|
return x.PathPrefix
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetSinceNs() int64 {
|
|
if x != nil {
|
|
return x.SinceNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetSignature() int32 {
|
|
if x != nil {
|
|
return x.Signature
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetPathPrefixes() []string {
|
|
if x != nil {
|
|
return x.PathPrefixes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetClientId() int32 {
|
|
if x != nil {
|
|
return x.ClientId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetUntilNs() int64 {
|
|
if x != nil {
|
|
return x.UntilNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetClientEpoch() int32 {
|
|
if x != nil {
|
|
return x.ClientEpoch
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetDirectories() []string {
|
|
if x != nil {
|
|
return x.Directories
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetClientSupportsBatching() bool {
|
|
if x != nil {
|
|
return x.ClientSupportsBatching
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetClientSupportsMetadataChunks() bool {
|
|
if x != nil {
|
|
return x.ClientSupportsMetadataChunks
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *SubscribeMetadataRequest) GetClientSupportsIdleHeartbeat() bool {
|
|
if x != nil {
|
|
return x.ClientSupportsIdleHeartbeat
|
|
}
|
|
return false
|
|
}
|
|
|
|
type SubscribeMetadataResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
EventNotification *EventNotification `protobuf:"bytes,2,opt,name=event_notification,json=eventNotification,proto3" json:"event_notification,omitempty"`
|
|
TsNs int64 `protobuf:"varint,3,opt,name=ts_ns,json=tsNs,proto3" json:"ts_ns,omitempty"`
|
|
Events []*SubscribeMetadataResponse `protobuf:"bytes,4,rep,name=events,proto3" json:"events,omitempty"` // batch of additional events (backlog catch-up)
|
|
LogFileRefs []*LogFileChunkRef `protobuf:"bytes,5,rep,name=log_file_refs,json=logFileRefs,proto3" json:"log_file_refs,omitempty"` // log file chunk refs for client direct-read
|
|
FlushedTsNs int64 `protobuf:"varint,6,opt,name=flushed_ts_ns,json=flushedTsNs,proto3" json:"flushed_ts_ns,omitempty"` // local log-buffer flush watermark: everything at or below it is on disk
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) Reset() {
|
|
*x = SubscribeMetadataResponse{}
|
|
mi := &file_filer_proto_msgTypes[54]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SubscribeMetadataResponse) ProtoMessage() {}
|
|
|
|
func (x *SubscribeMetadataResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[54]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SubscribeMetadataResponse.ProtoReflect.Descriptor instead.
|
|
func (*SubscribeMetadataResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{54}
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) GetEventNotification() *EventNotification {
|
|
if x != nil {
|
|
return x.EventNotification
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) GetTsNs() int64 {
|
|
if x != nil {
|
|
return x.TsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) GetEvents() []*SubscribeMetadataResponse {
|
|
if x != nil {
|
|
return x.Events
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) GetLogFileRefs() []*LogFileChunkRef {
|
|
if x != nil {
|
|
return x.LogFileRefs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SubscribeMetadataResponse) GetFlushedTsNs() int64 {
|
|
if x != nil {
|
|
return x.FlushedTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type ListMetadataSubscribersRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
ClientTypes []string `protobuf:"bytes,1,rep,name=client_types,json=clientTypes,proto3" json:"client_types,omitempty"` // optional filter by client type, e.g. "mount"; empty = all
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ListMetadataSubscribersRequest) Reset() {
|
|
*x = ListMetadataSubscribersRequest{}
|
|
mi := &file_filer_proto_msgTypes[55]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ListMetadataSubscribersRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListMetadataSubscribersRequest) ProtoMessage() {}
|
|
|
|
func (x *ListMetadataSubscribersRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[55]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListMetadataSubscribersRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListMetadataSubscribersRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{55}
|
|
}
|
|
|
|
func (x *ListMetadataSubscribersRequest) GetClientTypes() []string {
|
|
if x != nil {
|
|
return x.ClientTypes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ListMetadataSubscribersResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Subscribers []*MetadataSubscriber `protobuf:"bytes,1,rep,name=subscribers,proto3" json:"subscribers,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ListMetadataSubscribersResponse) Reset() {
|
|
*x = ListMetadataSubscribersResponse{}
|
|
mi := &file_filer_proto_msgTypes[56]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ListMetadataSubscribersResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListMetadataSubscribersResponse) ProtoMessage() {}
|
|
|
|
func (x *ListMetadataSubscribersResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[56]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListMetadataSubscribersResponse.ProtoReflect.Descriptor instead.
|
|
func (*ListMetadataSubscribersResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{56}
|
|
}
|
|
|
|
func (x *ListMetadataSubscribersResponse) GetSubscribers() []*MetadataSubscriber {
|
|
if x != nil {
|
|
return x.Subscribers
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type MetadataSubscriber struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
ClientName string `protobuf:"bytes,1,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"` // "<type>@<address>"
|
|
ClientType string `protobuf:"bytes,2,opt,name=client_type,json=clientType,proto3" json:"client_type,omitempty"` // e.g. "mount", "sw-vfs", "s3", "filer:<addr>"
|
|
Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` // client peer address
|
|
PathPrefix string `protobuf:"bytes,4,opt,name=path_prefix,json=pathPrefix,proto3" json:"path_prefix,omitempty"` // subscribed path prefix
|
|
ClientId int32 `protobuf:"varint,5,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
|
|
ClientEpoch int32 `protobuf:"varint,6,opt,name=client_epoch,json=clientEpoch,proto3" json:"client_epoch,omitempty"`
|
|
ConnectedAtNs int64 `protobuf:"varint,7,opt,name=connected_at_ns,json=connectedAtNs,proto3" json:"connected_at_ns,omitempty"`
|
|
FilerAddress string `protobuf:"bytes,8,opt,name=filer_address,json=filerAddress,proto3" json:"filer_address,omitempty"` // the filer this subscriber is connected to
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MetadataSubscriber) Reset() {
|
|
*x = MetadataSubscriber{}
|
|
mi := &file_filer_proto_msgTypes[57]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MetadataSubscriber) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MetadataSubscriber) ProtoMessage() {}
|
|
|
|
func (x *MetadataSubscriber) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[57]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MetadataSubscriber.ProtoReflect.Descriptor instead.
|
|
func (*MetadataSubscriber) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{57}
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetClientName() string {
|
|
if x != nil {
|
|
return x.ClientName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetClientType() string {
|
|
if x != nil {
|
|
return x.ClientType
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetAddress() string {
|
|
if x != nil {
|
|
return x.Address
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetPathPrefix() string {
|
|
if x != nil {
|
|
return x.PathPrefix
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetClientId() int32 {
|
|
if x != nil {
|
|
return x.ClientId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetClientEpoch() int32 {
|
|
if x != nil {
|
|
return x.ClientEpoch
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetConnectedAtNs() int64 {
|
|
if x != nil {
|
|
return x.ConnectedAtNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MetadataSubscriber) GetFilerAddress() string {
|
|
if x != nil {
|
|
return x.FilerAddress
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// A persisted log file that the client can read directly from volume servers.
|
|
// The file format is: [4-byte size | protobuf LogEntry] repeated.
|
|
// Each LogEntry.Data contains a marshaled SubscribeMetadataResponse.
|
|
type LogFileChunkRef struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Chunks []*FileChunk `protobuf:"bytes,1,rep,name=chunks,proto3" json:"chunks,omitempty"` // chunk references (fids) to read from volume servers
|
|
FileTsNs int64 `protobuf:"varint,2,opt,name=file_ts_ns,json=fileTsNs,proto3" json:"file_ts_ns,omitempty"` // minute-level timestamp of the log file
|
|
FilerId string `protobuf:"bytes,3,opt,name=filer_id,json=filerId,proto3" json:"filer_id,omitempty"` // filer signature suffix from log filename
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LogFileChunkRef) Reset() {
|
|
*x = LogFileChunkRef{}
|
|
mi := &file_filer_proto_msgTypes[58]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LogFileChunkRef) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LogFileChunkRef) ProtoMessage() {}
|
|
|
|
func (x *LogFileChunkRef) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[58]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LogFileChunkRef.ProtoReflect.Descriptor instead.
|
|
func (*LogFileChunkRef) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{58}
|
|
}
|
|
|
|
func (x *LogFileChunkRef) GetChunks() []*FileChunk {
|
|
if x != nil {
|
|
return x.Chunks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LogFileChunkRef) GetFileTsNs() int64 {
|
|
if x != nil {
|
|
return x.FileTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LogFileChunkRef) GetFilerId() string {
|
|
if x != nil {
|
|
return x.FilerId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type TraverseBfsMetadataRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
ExcludedPrefixes []string `protobuf:"bytes,2,rep,name=excluded_prefixes,json=excludedPrefixes,proto3" json:"excluded_prefixes,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataRequest) Reset() {
|
|
*x = TraverseBfsMetadataRequest{}
|
|
mi := &file_filer_proto_msgTypes[59]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TraverseBfsMetadataRequest) ProtoMessage() {}
|
|
|
|
func (x *TraverseBfsMetadataRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[59]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TraverseBfsMetadataRequest.ProtoReflect.Descriptor instead.
|
|
func (*TraverseBfsMetadataRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{59}
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataRequest) GetExcludedPrefixes() []string {
|
|
if x != nil {
|
|
return x.ExcludedPrefixes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type TraverseBfsMetadataResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Entry *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataResponse) Reset() {
|
|
*x = TraverseBfsMetadataResponse{}
|
|
mi := &file_filer_proto_msgTypes[60]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TraverseBfsMetadataResponse) ProtoMessage() {}
|
|
|
|
func (x *TraverseBfsMetadataResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[60]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TraverseBfsMetadataResponse.ProtoReflect.Descriptor instead.
|
|
func (*TraverseBfsMetadataResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{60}
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataResponse) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TraverseBfsMetadataResponse) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type LogEntry struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
TsNs int64 `protobuf:"varint,1,opt,name=ts_ns,json=tsNs,proto3" json:"ts_ns,omitempty"`
|
|
PartitionKeyHash int32 `protobuf:"varint,2,opt,name=partition_key_hash,json=partitionKeyHash,proto3" json:"partition_key_hash,omitempty"`
|
|
Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
|
|
Key []byte `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"`
|
|
Offset int64 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` // Sequential offset within partition
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LogEntry) Reset() {
|
|
*x = LogEntry{}
|
|
mi := &file_filer_proto_msgTypes[61]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LogEntry) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LogEntry) ProtoMessage() {}
|
|
|
|
func (x *LogEntry) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[61]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LogEntry.ProtoReflect.Descriptor instead.
|
|
func (*LogEntry) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{61}
|
|
}
|
|
|
|
func (x *LogEntry) GetTsNs() int64 {
|
|
if x != nil {
|
|
return x.TsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LogEntry) GetPartitionKeyHash() int32 {
|
|
if x != nil {
|
|
return x.PartitionKeyHash
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LogEntry) GetData() []byte {
|
|
if x != nil {
|
|
return x.Data
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LogEntry) GetKey() []byte {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LogEntry) GetOffset() int64 {
|
|
if x != nil {
|
|
return x.Offset
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type KeepConnectedRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
GrpcPort uint32 `protobuf:"varint,2,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
|
|
Resources []string `protobuf:"bytes,3,rep,name=resources,proto3" json:"resources,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *KeepConnectedRequest) Reset() {
|
|
*x = KeepConnectedRequest{}
|
|
mi := &file_filer_proto_msgTypes[62]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *KeepConnectedRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*KeepConnectedRequest) ProtoMessage() {}
|
|
|
|
func (x *KeepConnectedRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[62]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use KeepConnectedRequest.ProtoReflect.Descriptor instead.
|
|
func (*KeepConnectedRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{62}
|
|
}
|
|
|
|
func (x *KeepConnectedRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *KeepConnectedRequest) GetGrpcPort() uint32 {
|
|
if x != nil {
|
|
return x.GrpcPort
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *KeepConnectedRequest) GetResources() []string {
|
|
if x != nil {
|
|
return x.Resources
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type KeepConnectedResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *KeepConnectedResponse) Reset() {
|
|
*x = KeepConnectedResponse{}
|
|
mi := &file_filer_proto_msgTypes[63]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *KeepConnectedResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*KeepConnectedResponse) ProtoMessage() {}
|
|
|
|
func (x *KeepConnectedResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[63]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use KeepConnectedResponse.ProtoReflect.Descriptor instead.
|
|
func (*KeepConnectedResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{63}
|
|
}
|
|
|
|
type LocateBrokerRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LocateBrokerRequest) Reset() {
|
|
*x = LocateBrokerRequest{}
|
|
mi := &file_filer_proto_msgTypes[64]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LocateBrokerRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LocateBrokerRequest) ProtoMessage() {}
|
|
|
|
func (x *LocateBrokerRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[64]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LocateBrokerRequest.ProtoReflect.Descriptor instead.
|
|
func (*LocateBrokerRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{64}
|
|
}
|
|
|
|
func (x *LocateBrokerRequest) GetResource() string {
|
|
if x != nil {
|
|
return x.Resource
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type LocateBrokerResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Found bool `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
|
|
Resources []*LocateBrokerResponse_Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LocateBrokerResponse) Reset() {
|
|
*x = LocateBrokerResponse{}
|
|
mi := &file_filer_proto_msgTypes[65]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LocateBrokerResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LocateBrokerResponse) ProtoMessage() {}
|
|
|
|
func (x *LocateBrokerResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[65]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LocateBrokerResponse.ProtoReflect.Descriptor instead.
|
|
func (*LocateBrokerResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{65}
|
|
}
|
|
|
|
func (x *LocateBrokerResponse) GetFound() bool {
|
|
if x != nil {
|
|
return x.Found
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *LocateBrokerResponse) GetResources() []*LocateBrokerResponse_Resource {
|
|
if x != nil {
|
|
return x.Resources
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ///////////////////////
|
|
// Key-Value operations
|
|
// ///////////////////////
|
|
type KvGetRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *KvGetRequest) Reset() {
|
|
*x = KvGetRequest{}
|
|
mi := &file_filer_proto_msgTypes[66]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *KvGetRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*KvGetRequest) ProtoMessage() {}
|
|
|
|
func (x *KvGetRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[66]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use KvGetRequest.ProtoReflect.Descriptor instead.
|
|
func (*KvGetRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{66}
|
|
}
|
|
|
|
func (x *KvGetRequest) GetKey() []byte {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type KvGetResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
|
|
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *KvGetResponse) Reset() {
|
|
*x = KvGetResponse{}
|
|
mi := &file_filer_proto_msgTypes[67]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *KvGetResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*KvGetResponse) ProtoMessage() {}
|
|
|
|
func (x *KvGetResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[67]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use KvGetResponse.ProtoReflect.Descriptor instead.
|
|
func (*KvGetResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{67}
|
|
}
|
|
|
|
func (x *KvGetResponse) GetValue() []byte {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *KvGetResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type KvPutRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
|
Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *KvPutRequest) Reset() {
|
|
*x = KvPutRequest{}
|
|
mi := &file_filer_proto_msgTypes[68]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *KvPutRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*KvPutRequest) ProtoMessage() {}
|
|
|
|
func (x *KvPutRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[68]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use KvPutRequest.ProtoReflect.Descriptor instead.
|
|
func (*KvPutRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{68}
|
|
}
|
|
|
|
func (x *KvPutRequest) GetKey() []byte {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *KvPutRequest) GetValue() []byte {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type KvPutResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *KvPutResponse) Reset() {
|
|
*x = KvPutResponse{}
|
|
mi := &file_filer_proto_msgTypes[69]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *KvPutResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*KvPutResponse) ProtoMessage() {}
|
|
|
|
func (x *KvPutResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[69]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use KvPutResponse.ProtoReflect.Descriptor instead.
|
|
func (*KvPutResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{69}
|
|
}
|
|
|
|
func (x *KvPutResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// ///////////////////////
|
|
// path-based configurations
|
|
// ///////////////////////
|
|
type FilerConf struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
|
|
Locations []*FilerConf_PathConf `protobuf:"bytes,2,rep,name=locations,proto3" json:"locations,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FilerConf) Reset() {
|
|
*x = FilerConf{}
|
|
mi := &file_filer_proto_msgTypes[70]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FilerConf) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FilerConf) ProtoMessage() {}
|
|
|
|
func (x *FilerConf) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[70]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FilerConf.ProtoReflect.Descriptor instead.
|
|
func (*FilerConf) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{70}
|
|
}
|
|
|
|
func (x *FilerConf) GetVersion() int32 {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FilerConf) GetLocations() []*FilerConf_PathConf {
|
|
if x != nil {
|
|
return x.Locations
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ///////////////////////
|
|
// Remote Storage related
|
|
// ///////////////////////
|
|
type CacheRemoteObjectToLocalClusterRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Directory string `protobuf:"bytes,1,opt,name=directory,proto3" json:"directory,omitempty"`
|
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
ChunkConcurrency int32 `protobuf:"varint,3,opt,name=chunk_concurrency,json=chunkConcurrency,proto3" json:"chunk_concurrency,omitempty"` // parallel chunk downloads per file, 0 = default (8)
|
|
DownloadConcurrency int32 `protobuf:"varint,4,opt,name=download_concurrency,json=downloadConcurrency,proto3" json:"download_concurrency,omitempty"` // multipart download concurrency per chunk (if supported by remote storage), 0 = default (5 for S3)
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterRequest) Reset() {
|
|
*x = CacheRemoteObjectToLocalClusterRequest{}
|
|
mi := &file_filer_proto_msgTypes[71]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CacheRemoteObjectToLocalClusterRequest) ProtoMessage() {}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[71]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CacheRemoteObjectToLocalClusterRequest.ProtoReflect.Descriptor instead.
|
|
func (*CacheRemoteObjectToLocalClusterRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{71}
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterRequest) GetDirectory() string {
|
|
if x != nil {
|
|
return x.Directory
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterRequest) GetChunkConcurrency() int32 {
|
|
if x != nil {
|
|
return x.ChunkConcurrency
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterRequest) GetDownloadConcurrency() int32 {
|
|
if x != nil {
|
|
return x.DownloadConcurrency
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type CacheRemoteObjectToLocalClusterResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
|
|
MetadataEvent *SubscribeMetadataResponse `protobuf:"bytes,2,opt,name=metadata_event,json=metadataEvent,proto3" json:"metadata_event,omitempty"`
|
|
// filer log position stamped before the entry read: every event at or
|
|
// below it is reflected in the returned entry
|
|
LogTsNs int64 `protobuf:"varint,3,opt,name=log_ts_ns,json=logTsNs,proto3" json:"log_ts_ns,omitempty"`
|
|
LogSignature int32 `protobuf:"varint,4,opt,name=log_signature,json=logSignature,proto3" json:"log_signature,omitempty"` // filer whose clock stamped log_ts_ns
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterResponse) Reset() {
|
|
*x = CacheRemoteObjectToLocalClusterResponse{}
|
|
mi := &file_filer_proto_msgTypes[72]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CacheRemoteObjectToLocalClusterResponse) ProtoMessage() {}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[72]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CacheRemoteObjectToLocalClusterResponse.ProtoReflect.Descriptor instead.
|
|
func (*CacheRemoteObjectToLocalClusterResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{72}
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterResponse) GetEntry() *Entry {
|
|
if x != nil {
|
|
return x.Entry
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterResponse) GetMetadataEvent() *SubscribeMetadataResponse {
|
|
if x != nil {
|
|
return x.MetadataEvent
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterResponse) GetLogTsNs() int64 {
|
|
if x != nil {
|
|
return x.LogTsNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *CacheRemoteObjectToLocalClusterResponse) GetLogSignature() int32 {
|
|
if x != nil {
|
|
return x.LogSignature
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// ///////////////////////
|
|
// distributed lock management
|
|
// ///////////////////////
|
|
type LockRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
SecondsToLock int64 `protobuf:"varint,2,opt,name=seconds_to_lock,json=secondsToLock,proto3" json:"seconds_to_lock,omitempty"`
|
|
RenewToken string `protobuf:"bytes,3,opt,name=renew_token,json=renewToken,proto3" json:"renew_token,omitempty"`
|
|
IsMoved bool `protobuf:"varint,4,opt,name=is_moved,json=isMoved,proto3" json:"is_moved,omitempty"`
|
|
Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LockRequest) Reset() {
|
|
*x = LockRequest{}
|
|
mi := &file_filer_proto_msgTypes[73]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LockRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LockRequest) ProtoMessage() {}
|
|
|
|
func (x *LockRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[73]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LockRequest.ProtoReflect.Descriptor instead.
|
|
func (*LockRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{73}
|
|
}
|
|
|
|
func (x *LockRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LockRequest) GetSecondsToLock() int64 {
|
|
if x != nil {
|
|
return x.SecondsToLock
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LockRequest) GetRenewToken() string {
|
|
if x != nil {
|
|
return x.RenewToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LockRequest) GetIsMoved() bool {
|
|
if x != nil {
|
|
return x.IsMoved
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *LockRequest) GetOwner() string {
|
|
if x != nil {
|
|
return x.Owner
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type LockResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RenewToken string `protobuf:"bytes,1,opt,name=renew_token,json=renewToken,proto3" json:"renew_token,omitempty"`
|
|
LockOwner string `protobuf:"bytes,2,opt,name=lock_owner,json=lockOwner,proto3" json:"lock_owner,omitempty"`
|
|
LockHostMovedTo string `protobuf:"bytes,3,opt,name=lock_host_moved_to,json=lockHostMovedTo,proto3" json:"lock_host_moved_to,omitempty"`
|
|
Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
|
|
Generation int64 `protobuf:"varint,5,opt,name=generation,proto3" json:"generation,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LockResponse) Reset() {
|
|
*x = LockResponse{}
|
|
mi := &file_filer_proto_msgTypes[74]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LockResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LockResponse) ProtoMessage() {}
|
|
|
|
func (x *LockResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[74]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LockResponse.ProtoReflect.Descriptor instead.
|
|
func (*LockResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{74}
|
|
}
|
|
|
|
func (x *LockResponse) GetRenewToken() string {
|
|
if x != nil {
|
|
return x.RenewToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LockResponse) GetLockOwner() string {
|
|
if x != nil {
|
|
return x.LockOwner
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LockResponse) GetLockHostMovedTo() string {
|
|
if x != nil {
|
|
return x.LockHostMovedTo
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LockResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LockResponse) GetGeneration() int64 {
|
|
if x != nil {
|
|
return x.Generation
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type UnlockRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
RenewToken string `protobuf:"bytes,2,opt,name=renew_token,json=renewToken,proto3" json:"renew_token,omitempty"`
|
|
IsMoved bool `protobuf:"varint,3,opt,name=is_moved,json=isMoved,proto3" json:"is_moved,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *UnlockRequest) Reset() {
|
|
*x = UnlockRequest{}
|
|
mi := &file_filer_proto_msgTypes[75]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *UnlockRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UnlockRequest) ProtoMessage() {}
|
|
|
|
func (x *UnlockRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[75]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UnlockRequest.ProtoReflect.Descriptor instead.
|
|
func (*UnlockRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{75}
|
|
}
|
|
|
|
func (x *UnlockRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *UnlockRequest) GetRenewToken() string {
|
|
if x != nil {
|
|
return x.RenewToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *UnlockRequest) GetIsMoved() bool {
|
|
if x != nil {
|
|
return x.IsMoved
|
|
}
|
|
return false
|
|
}
|
|
|
|
type UnlockResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
|
|
MovedTo string `protobuf:"bytes,2,opt,name=moved_to,json=movedTo,proto3" json:"moved_to,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *UnlockResponse) Reset() {
|
|
*x = UnlockResponse{}
|
|
mi := &file_filer_proto_msgTypes[76]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *UnlockResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UnlockResponse) ProtoMessage() {}
|
|
|
|
func (x *UnlockResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[76]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UnlockResponse.ProtoReflect.Descriptor instead.
|
|
func (*UnlockResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{76}
|
|
}
|
|
|
|
func (x *UnlockResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *UnlockResponse) GetMovedTo() string {
|
|
if x != nil {
|
|
return x.MovedTo
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type FindLockOwnerRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
IsMoved bool `protobuf:"varint,2,opt,name=is_moved,json=isMoved,proto3" json:"is_moved,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FindLockOwnerRequest) Reset() {
|
|
*x = FindLockOwnerRequest{}
|
|
mi := &file_filer_proto_msgTypes[77]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FindLockOwnerRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FindLockOwnerRequest) ProtoMessage() {}
|
|
|
|
func (x *FindLockOwnerRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[77]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FindLockOwnerRequest.ProtoReflect.Descriptor instead.
|
|
func (*FindLockOwnerRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{77}
|
|
}
|
|
|
|
func (x *FindLockOwnerRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FindLockOwnerRequest) GetIsMoved() bool {
|
|
if x != nil {
|
|
return x.IsMoved
|
|
}
|
|
return false
|
|
}
|
|
|
|
type FindLockOwnerResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FindLockOwnerResponse) Reset() {
|
|
*x = FindLockOwnerResponse{}
|
|
mi := &file_filer_proto_msgTypes[78]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FindLockOwnerResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FindLockOwnerResponse) ProtoMessage() {}
|
|
|
|
func (x *FindLockOwnerResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[78]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FindLockOwnerResponse.ProtoReflect.Descriptor instead.
|
|
func (*FindLockOwnerResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{78}
|
|
}
|
|
|
|
func (x *FindLockOwnerResponse) GetOwner() string {
|
|
if x != nil {
|
|
return x.Owner
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type Lock struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
RenewToken string `protobuf:"bytes,2,opt,name=renew_token,json=renewToken,proto3" json:"renew_token,omitempty"`
|
|
ExpiredAtNs int64 `protobuf:"varint,3,opt,name=expired_at_ns,json=expiredAtNs,proto3" json:"expired_at_ns,omitempty"`
|
|
Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"`
|
|
Generation int64 `protobuf:"varint,5,opt,name=generation,proto3" json:"generation,omitempty"`
|
|
IsBackup bool `protobuf:"varint,6,opt,name=is_backup,json=isBackup,proto3" json:"is_backup,omitempty"`
|
|
Seq int64 `protobuf:"varint,7,opt,name=seq,proto3" json:"seq,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Lock) Reset() {
|
|
*x = Lock{}
|
|
mi := &file_filer_proto_msgTypes[79]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Lock) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Lock) ProtoMessage() {}
|
|
|
|
func (x *Lock) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[79]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Lock.ProtoReflect.Descriptor instead.
|
|
func (*Lock) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{79}
|
|
}
|
|
|
|
func (x *Lock) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Lock) GetRenewToken() string {
|
|
if x != nil {
|
|
return x.RenewToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Lock) GetExpiredAtNs() int64 {
|
|
if x != nil {
|
|
return x.ExpiredAtNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Lock) GetOwner() string {
|
|
if x != nil {
|
|
return x.Owner
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Lock) GetGeneration() int64 {
|
|
if x != nil {
|
|
return x.Generation
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Lock) GetIsBackup() bool {
|
|
if x != nil {
|
|
return x.IsBackup
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Lock) GetSeq() int64 {
|
|
if x != nil {
|
|
return x.Seq
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type TransferLocksRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Locks []*Lock `protobuf:"bytes,1,rep,name=locks,proto3" json:"locks,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TransferLocksRequest) Reset() {
|
|
*x = TransferLocksRequest{}
|
|
mi := &file_filer_proto_msgTypes[80]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TransferLocksRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TransferLocksRequest) ProtoMessage() {}
|
|
|
|
func (x *TransferLocksRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[80]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TransferLocksRequest.ProtoReflect.Descriptor instead.
|
|
func (*TransferLocksRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{80}
|
|
}
|
|
|
|
func (x *TransferLocksRequest) GetLocks() []*Lock {
|
|
if x != nil {
|
|
return x.Locks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type TransferLocksResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *TransferLocksResponse) Reset() {
|
|
*x = TransferLocksResponse{}
|
|
mi := &file_filer_proto_msgTypes[81]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *TransferLocksResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TransferLocksResponse) ProtoMessage() {}
|
|
|
|
func (x *TransferLocksResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[81]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TransferLocksResponse.ProtoReflect.Descriptor instead.
|
|
func (*TransferLocksResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{81}
|
|
}
|
|
|
|
type ReplicateLockRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
RenewToken string `protobuf:"bytes,2,opt,name=renew_token,json=renewToken,proto3" json:"renew_token,omitempty"`
|
|
ExpiredAtNs int64 `protobuf:"varint,3,opt,name=expired_at_ns,json=expiredAtNs,proto3" json:"expired_at_ns,omitempty"`
|
|
Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"`
|
|
Generation int64 `protobuf:"varint,5,opt,name=generation,proto3" json:"generation,omitempty"`
|
|
IsUnlock bool `protobuf:"varint,6,opt,name=is_unlock,json=isUnlock,proto3" json:"is_unlock,omitempty"`
|
|
Seq int64 `protobuf:"varint,7,opt,name=seq,proto3" json:"seq,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) Reset() {
|
|
*x = ReplicateLockRequest{}
|
|
mi := &file_filer_proto_msgTypes[82]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ReplicateLockRequest) ProtoMessage() {}
|
|
|
|
func (x *ReplicateLockRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[82]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ReplicateLockRequest.ProtoReflect.Descriptor instead.
|
|
func (*ReplicateLockRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{82}
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) GetRenewToken() string {
|
|
if x != nil {
|
|
return x.RenewToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) GetExpiredAtNs() int64 {
|
|
if x != nil {
|
|
return x.ExpiredAtNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) GetOwner() string {
|
|
if x != nil {
|
|
return x.Owner
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) GetGeneration() int64 {
|
|
if x != nil {
|
|
return x.Generation
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) GetIsUnlock() bool {
|
|
if x != nil {
|
|
return x.IsUnlock
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ReplicateLockRequest) GetSeq() int64 {
|
|
if x != nil {
|
|
return x.Seq
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type ReplicateLockResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ReplicateLockResponse) Reset() {
|
|
*x = ReplicateLockResponse{}
|
|
mi := &file_filer_proto_msgTypes[83]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ReplicateLockResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ReplicateLockResponse) ProtoMessage() {}
|
|
|
|
func (x *ReplicateLockResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[83]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ReplicateLockResponse.ProtoReflect.Descriptor instead.
|
|
func (*ReplicateLockResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{83}
|
|
}
|
|
|
|
type StreamMutateEntryRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId uint64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
// Types that are valid to be assigned to Request:
|
|
//
|
|
// *StreamMutateEntryRequest_CreateRequest
|
|
// *StreamMutateEntryRequest_UpdateRequest
|
|
// *StreamMutateEntryRequest_DeleteRequest
|
|
// *StreamMutateEntryRequest_RenameRequest
|
|
Request isStreamMutateEntryRequest_Request `protobuf_oneof:"request"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) Reset() {
|
|
*x = StreamMutateEntryRequest{}
|
|
mi := &file_filer_proto_msgTypes[84]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StreamMutateEntryRequest) ProtoMessage() {}
|
|
|
|
func (x *StreamMutateEntryRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[84]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StreamMutateEntryRequest.ProtoReflect.Descriptor instead.
|
|
func (*StreamMutateEntryRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{84}
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) GetRequestId() uint64 {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) GetRequest() isStreamMutateEntryRequest_Request {
|
|
if x != nil {
|
|
return x.Request
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) GetCreateRequest() *CreateEntryRequest {
|
|
if x != nil {
|
|
if x, ok := x.Request.(*StreamMutateEntryRequest_CreateRequest); ok {
|
|
return x.CreateRequest
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) GetUpdateRequest() *UpdateEntryRequest {
|
|
if x != nil {
|
|
if x, ok := x.Request.(*StreamMutateEntryRequest_UpdateRequest); ok {
|
|
return x.UpdateRequest
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) GetDeleteRequest() *DeleteEntryRequest {
|
|
if x != nil {
|
|
if x, ok := x.Request.(*StreamMutateEntryRequest_DeleteRequest); ok {
|
|
return x.DeleteRequest
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryRequest) GetRenameRequest() *StreamRenameEntryRequest {
|
|
if x != nil {
|
|
if x, ok := x.Request.(*StreamMutateEntryRequest_RenameRequest); ok {
|
|
return x.RenameRequest
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isStreamMutateEntryRequest_Request interface {
|
|
isStreamMutateEntryRequest_Request()
|
|
}
|
|
|
|
type StreamMutateEntryRequest_CreateRequest struct {
|
|
CreateRequest *CreateEntryRequest `protobuf:"bytes,2,opt,name=create_request,json=createRequest,proto3,oneof"`
|
|
}
|
|
|
|
type StreamMutateEntryRequest_UpdateRequest struct {
|
|
UpdateRequest *UpdateEntryRequest `protobuf:"bytes,3,opt,name=update_request,json=updateRequest,proto3,oneof"`
|
|
}
|
|
|
|
type StreamMutateEntryRequest_DeleteRequest struct {
|
|
DeleteRequest *DeleteEntryRequest `protobuf:"bytes,4,opt,name=delete_request,json=deleteRequest,proto3,oneof"`
|
|
}
|
|
|
|
type StreamMutateEntryRequest_RenameRequest struct {
|
|
RenameRequest *StreamRenameEntryRequest `protobuf:"bytes,5,opt,name=rename_request,json=renameRequest,proto3,oneof"`
|
|
}
|
|
|
|
func (*StreamMutateEntryRequest_CreateRequest) isStreamMutateEntryRequest_Request() {}
|
|
|
|
func (*StreamMutateEntryRequest_UpdateRequest) isStreamMutateEntryRequest_Request() {}
|
|
|
|
func (*StreamMutateEntryRequest_DeleteRequest) isStreamMutateEntryRequest_Request() {}
|
|
|
|
func (*StreamMutateEntryRequest_RenameRequest) isStreamMutateEntryRequest_Request() {}
|
|
|
|
type StreamMutateEntryResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
RequestId uint64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
|
IsLast bool `protobuf:"varint,2,opt,name=is_last,json=isLast,proto3" json:"is_last,omitempty"` // always true except for rename, which sends multiple events
|
|
// Types that are valid to be assigned to Response:
|
|
//
|
|
// *StreamMutateEntryResponse_CreateResponse
|
|
// *StreamMutateEntryResponse_UpdateResponse
|
|
// *StreamMutateEntryResponse_DeleteResponse
|
|
// *StreamMutateEntryResponse_RenameResponse
|
|
Response isStreamMutateEntryResponse_Response `protobuf_oneof:"response"`
|
|
Error string `protobuf:"bytes,7,opt,name=error,proto3" json:"error,omitempty"` // human-readable error message when the operation failed
|
|
Errno int32 `protobuf:"varint,8,opt,name=errno,proto3" json:"errno,omitempty"` // POSIX errno (e.g. ENOENT=2, ENOTEMPTY=66) for direct FUSE status mapping
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) Reset() {
|
|
*x = StreamMutateEntryResponse{}
|
|
mi := &file_filer_proto_msgTypes[85]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StreamMutateEntryResponse) ProtoMessage() {}
|
|
|
|
func (x *StreamMutateEntryResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[85]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StreamMutateEntryResponse.ProtoReflect.Descriptor instead.
|
|
func (*StreamMutateEntryResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{85}
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetRequestId() uint64 {
|
|
if x != nil {
|
|
return x.RequestId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetIsLast() bool {
|
|
if x != nil {
|
|
return x.IsLast
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetResponse() isStreamMutateEntryResponse_Response {
|
|
if x != nil {
|
|
return x.Response
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetCreateResponse() *CreateEntryResponse {
|
|
if x != nil {
|
|
if x, ok := x.Response.(*StreamMutateEntryResponse_CreateResponse); ok {
|
|
return x.CreateResponse
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetUpdateResponse() *UpdateEntryResponse {
|
|
if x != nil {
|
|
if x, ok := x.Response.(*StreamMutateEntryResponse_UpdateResponse); ok {
|
|
return x.UpdateResponse
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetDeleteResponse() *DeleteEntryResponse {
|
|
if x != nil {
|
|
if x, ok := x.Response.(*StreamMutateEntryResponse_DeleteResponse); ok {
|
|
return x.DeleteResponse
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetRenameResponse() *StreamRenameEntryResponse {
|
|
if x != nil {
|
|
if x, ok := x.Response.(*StreamMutateEntryResponse_RenameResponse); ok {
|
|
return x.RenameResponse
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *StreamMutateEntryResponse) GetErrno() int32 {
|
|
if x != nil {
|
|
return x.Errno
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type isStreamMutateEntryResponse_Response interface {
|
|
isStreamMutateEntryResponse_Response()
|
|
}
|
|
|
|
type StreamMutateEntryResponse_CreateResponse struct {
|
|
CreateResponse *CreateEntryResponse `protobuf:"bytes,3,opt,name=create_response,json=createResponse,proto3,oneof"`
|
|
}
|
|
|
|
type StreamMutateEntryResponse_UpdateResponse struct {
|
|
UpdateResponse *UpdateEntryResponse `protobuf:"bytes,4,opt,name=update_response,json=updateResponse,proto3,oneof"`
|
|
}
|
|
|
|
type StreamMutateEntryResponse_DeleteResponse struct {
|
|
DeleteResponse *DeleteEntryResponse `protobuf:"bytes,5,opt,name=delete_response,json=deleteResponse,proto3,oneof"`
|
|
}
|
|
|
|
type StreamMutateEntryResponse_RenameResponse struct {
|
|
RenameResponse *StreamRenameEntryResponse `protobuf:"bytes,6,opt,name=rename_response,json=renameResponse,proto3,oneof"`
|
|
}
|
|
|
|
func (*StreamMutateEntryResponse_CreateResponse) isStreamMutateEntryResponse_Response() {}
|
|
|
|
func (*StreamMutateEntryResponse_UpdateResponse) isStreamMutateEntryResponse_Response() {}
|
|
|
|
func (*StreamMutateEntryResponse_DeleteResponse) isStreamMutateEntryResponse_Response() {}
|
|
|
|
func (*StreamMutateEntryResponse_RenameResponse) isStreamMutateEntryResponse_Response() {}
|
|
|
|
type MountRegisterRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
PeerAddr string `protobuf:"bytes,1,opt,name=peer_addr,json=peerAddr,proto3" json:"peer_addr,omitempty"` // host:port where this mount serves peer chunk requests
|
|
Rack string `protobuf:"bytes,2,opt,name=rack,proto3" json:"rack,omitempty"` // locality label (rack); used for peer ranking
|
|
TtlSeconds int32 `protobuf:"varint,3,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"` // how long the filer should keep this entry without a heartbeat
|
|
DataCenter string `protobuf:"bytes,4,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"` // locality label (data center); coarser than rack
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MountRegisterRequest) Reset() {
|
|
*x = MountRegisterRequest{}
|
|
mi := &file_filer_proto_msgTypes[86]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MountRegisterRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MountRegisterRequest) ProtoMessage() {}
|
|
|
|
func (x *MountRegisterRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[86]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MountRegisterRequest.ProtoReflect.Descriptor instead.
|
|
func (*MountRegisterRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{86}
|
|
}
|
|
|
|
func (x *MountRegisterRequest) GetPeerAddr() string {
|
|
if x != nil {
|
|
return x.PeerAddr
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MountRegisterRequest) GetRack() string {
|
|
if x != nil {
|
|
return x.Rack
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MountRegisterRequest) GetTtlSeconds() int32 {
|
|
if x != nil {
|
|
return x.TtlSeconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MountRegisterRequest) GetDataCenter() string {
|
|
if x != nil {
|
|
return x.DataCenter
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type MountRegisterResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MountRegisterResponse) Reset() {
|
|
*x = MountRegisterResponse{}
|
|
mi := &file_filer_proto_msgTypes[87]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MountRegisterResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MountRegisterResponse) ProtoMessage() {}
|
|
|
|
func (x *MountRegisterResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[87]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MountRegisterResponse.ProtoReflect.Descriptor instead.
|
|
func (*MountRegisterResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{87}
|
|
}
|
|
|
|
type MountListRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MountListRequest) Reset() {
|
|
*x = MountListRequest{}
|
|
mi := &file_filer_proto_msgTypes[88]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MountListRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MountListRequest) ProtoMessage() {}
|
|
|
|
func (x *MountListRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[88]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MountListRequest.ProtoReflect.Descriptor instead.
|
|
func (*MountListRequest) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{88}
|
|
}
|
|
|
|
type MountListResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Mounts []*MountInfo `protobuf:"bytes,1,rep,name=mounts,proto3" json:"mounts,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MountListResponse) Reset() {
|
|
*x = MountListResponse{}
|
|
mi := &file_filer_proto_msgTypes[89]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MountListResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MountListResponse) ProtoMessage() {}
|
|
|
|
func (x *MountListResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[89]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MountListResponse.ProtoReflect.Descriptor instead.
|
|
func (*MountListResponse) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{89}
|
|
}
|
|
|
|
func (x *MountListResponse) GetMounts() []*MountInfo {
|
|
if x != nil {
|
|
return x.Mounts
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type MountInfo struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
PeerAddr string `protobuf:"bytes,1,opt,name=peer_addr,json=peerAddr,proto3" json:"peer_addr,omitempty"`
|
|
Rack string `protobuf:"bytes,2,opt,name=rack,proto3" json:"rack,omitempty"`
|
|
LastSeenNs int64 `protobuf:"varint,3,opt,name=last_seen_ns,json=lastSeenNs,proto3" json:"last_seen_ns,omitempty"`
|
|
DataCenter string `protobuf:"bytes,4,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MountInfo) Reset() {
|
|
*x = MountInfo{}
|
|
mi := &file_filer_proto_msgTypes[90]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MountInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MountInfo) ProtoMessage() {}
|
|
|
|
func (x *MountInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[90]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MountInfo.ProtoReflect.Descriptor instead.
|
|
func (*MountInfo) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{90}
|
|
}
|
|
|
|
func (x *MountInfo) GetPeerAddr() string {
|
|
if x != nil {
|
|
return x.PeerAddr
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MountInfo) GetRack() string {
|
|
if x != nil {
|
|
return x.Rack
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MountInfo) GetLastSeenNs() int64 {
|
|
if x != nil {
|
|
return x.LastSeenNs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MountInfo) GetDataCenter() string {
|
|
if x != nil {
|
|
return x.DataCenter
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Clause is one primitive comparison. IF_ETAG_MATCH holds when the current
|
|
// entry's ETag equals any value in etags; IF_ETAG_NOT_MATCH holds when it
|
|
// equals none. allow_weak permits weak-comparison (ignoring the W/ prefix).
|
|
//
|
|
// The IF_EXTENDED_* kinds are generic guards on an extended attribute, used
|
|
// to enforce object-lock without teaching the filer S3 semantics:
|
|
// IF_EXTENDED_NOT_EQUAL expresses a legal hold (block while a key equals a
|
|
// value), and IF_EXTENDED_TIME_ELAPSED expresses retention (block while a
|
|
// stored unix-second deadline is in the future, compared to the filer's
|
|
// clock). The caller composes these and, for governance-bypass, simply omits
|
|
// the retention clause when the bypass is authorized — the filer makes no
|
|
// authorization decision.
|
|
//
|
|
// IF_CHUNKS_EQUAL guards a chunk-preserving read-modify-write: the stored
|
|
// chunk fid set must still equal what the caller read, so a stale write
|
|
// cannot resurrect needles that a concurrent update already diffed away
|
|
// and queued for deletion. An empty fids list expects no chunks.
|
|
type WriteCondition_Clause struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Kind WriteCondition_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=filer_pb.WriteCondition_Kind" json:"kind,omitempty"`
|
|
Etags []string `protobuf:"bytes,2,rep,name=etags,proto3" json:"etags,omitempty"` // ETag set for IF_ETAG_* kinds
|
|
UnixTime int64 `protobuf:"varint,3,opt,name=unix_time,json=unixTime,proto3" json:"unix_time,omitempty"` // bound (unix seconds) for IF_*_SINCE kinds
|
|
AllowWeak bool `protobuf:"varint,4,opt,name=allow_weak,json=allowWeak,proto3" json:"allow_weak,omitempty"` // compare ETags ignoring the weak (W/) marker
|
|
ExtKey string `protobuf:"bytes,5,opt,name=ext_key,json=extKey,proto3" json:"ext_key,omitempty"` // extended attribute name for IF_EXTENDED_* kinds
|
|
ExtValue string `protobuf:"bytes,6,opt,name=ext_value,json=extValue,proto3" json:"ext_value,omitempty"` // blocking value for IF_EXTENDED_NOT_EQUAL
|
|
GateKey string `protobuf:"bytes,7,opt,name=gate_key,json=gateKey,proto3" json:"gate_key,omitempty"` // IF_EXTENDED_TIME_ELAPSED: only enforce when extended[gate_key] == gate_value
|
|
GateValue string `protobuf:"bytes,8,opt,name=gate_value,json=gateValue,proto3" json:"gate_value,omitempty"` // gate value (e.g. retention mode COMPLIANCE for governance bypass)
|
|
Fids []string `protobuf:"bytes,9,rep,name=fids,proto3" json:"fids,omitempty"` // chunk fid strings for IF_CHUNKS_EQUAL
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) Reset() {
|
|
*x = WriteCondition_Clause{}
|
|
mi := &file_filer_proto_msgTypes[92]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WriteCondition_Clause) ProtoMessage() {}
|
|
|
|
func (x *WriteCondition_Clause) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[92]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WriteCondition_Clause.ProtoReflect.Descriptor instead.
|
|
func (*WriteCondition_Clause) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{13, 0}
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetKind() WriteCondition_Kind {
|
|
if x != nil {
|
|
return x.Kind
|
|
}
|
|
return WriteCondition_NONE
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetEtags() []string {
|
|
if x != nil {
|
|
return x.Etags
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetUnixTime() int64 {
|
|
if x != nil {
|
|
return x.UnixTime
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetAllowWeak() bool {
|
|
if x != nil {
|
|
return x.AllowWeak
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetExtKey() string {
|
|
if x != nil {
|
|
return x.ExtKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetExtValue() string {
|
|
if x != nil {
|
|
return x.ExtValue
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetGateKey() string {
|
|
if x != nil {
|
|
return x.GateKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetGateValue() string {
|
|
if x != nil {
|
|
return x.GateValue
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WriteCondition_Clause) GetFids() []string {
|
|
if x != nil {
|
|
return x.Fids
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// if found, send the exact address
|
|
// if not found, send the full list of existing brokers
|
|
type LocateBrokerResponse_Resource struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
GrpcAddresses string `protobuf:"bytes,1,opt,name=grpc_addresses,json=grpcAddresses,proto3" json:"grpc_addresses,omitempty"`
|
|
ResourceCount int32 `protobuf:"varint,2,opt,name=resource_count,json=resourceCount,proto3" json:"resource_count,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LocateBrokerResponse_Resource) Reset() {
|
|
*x = LocateBrokerResponse_Resource{}
|
|
mi := &file_filer_proto_msgTypes[97]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LocateBrokerResponse_Resource) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LocateBrokerResponse_Resource) ProtoMessage() {}
|
|
|
|
func (x *LocateBrokerResponse_Resource) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[97]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LocateBrokerResponse_Resource.ProtoReflect.Descriptor instead.
|
|
func (*LocateBrokerResponse_Resource) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{65, 0}
|
|
}
|
|
|
|
func (x *LocateBrokerResponse_Resource) GetGrpcAddresses() string {
|
|
if x != nil {
|
|
return x.GrpcAddresses
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LocateBrokerResponse_Resource) GetResourceCount() int32 {
|
|
if x != nil {
|
|
return x.ResourceCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type FilerConf_PathConf struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
LocationPrefix string `protobuf:"bytes,1,opt,name=location_prefix,json=locationPrefix,proto3" json:"location_prefix,omitempty"`
|
|
Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
|
|
Replication string `protobuf:"bytes,3,opt,name=replication,proto3" json:"replication,omitempty"`
|
|
Ttl string `protobuf:"bytes,4,opt,name=ttl,proto3" json:"ttl,omitempty"`
|
|
DiskType string `protobuf:"bytes,5,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
|
|
Fsync bool `protobuf:"varint,6,opt,name=fsync,proto3" json:"fsync,omitempty"`
|
|
VolumeGrowthCount uint32 `protobuf:"varint,7,opt,name=volume_growth_count,json=volumeGrowthCount,proto3" json:"volume_growth_count,omitempty"`
|
|
ReadOnly bool `protobuf:"varint,8,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
|
|
DataCenter string `protobuf:"bytes,9,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"`
|
|
Rack string `protobuf:"bytes,10,opt,name=rack,proto3" json:"rack,omitempty"`
|
|
DataNode string `protobuf:"bytes,11,opt,name=data_node,json=dataNode,proto3" json:"data_node,omitempty"`
|
|
MaxFileNameLength uint32 `protobuf:"varint,12,opt,name=max_file_name_length,json=maxFileNameLength,proto3" json:"max_file_name_length,omitempty"`
|
|
DisableChunkDeletion bool `protobuf:"varint,13,opt,name=disable_chunk_deletion,json=disableChunkDeletion,proto3" json:"disable_chunk_deletion,omitempty"`
|
|
// unset inherits from the enclosing path rule, set overrides it
|
|
Worm *bool `protobuf:"varint,14,opt,name=worm,proto3,oneof" json:"worm,omitempty"`
|
|
WormGracePeriodSeconds uint64 `protobuf:"varint,15,opt,name=worm_grace_period_seconds,json=wormGracePeriodSeconds,proto3" json:"worm_grace_period_seconds,omitempty"`
|
|
WormRetentionTimeSeconds uint64 `protobuf:"varint,16,opt,name=worm_retention_time_seconds,json=wormRetentionTimeSeconds,proto3" json:"worm_retention_time_seconds,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) Reset() {
|
|
*x = FilerConf_PathConf{}
|
|
mi := &file_filer_proto_msgTypes[98]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FilerConf_PathConf) ProtoMessage() {}
|
|
|
|
func (x *FilerConf_PathConf) ProtoReflect() protoreflect.Message {
|
|
mi := &file_filer_proto_msgTypes[98]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FilerConf_PathConf.ProtoReflect.Descriptor instead.
|
|
func (*FilerConf_PathConf) Descriptor() ([]byte, []int) {
|
|
return file_filer_proto_rawDescGZIP(), []int{70, 0}
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetLocationPrefix() string {
|
|
if x != nil {
|
|
return x.LocationPrefix
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetCollection() string {
|
|
if x != nil {
|
|
return x.Collection
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetReplication() string {
|
|
if x != nil {
|
|
return x.Replication
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetTtl() string {
|
|
if x != nil {
|
|
return x.Ttl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetDiskType() string {
|
|
if x != nil {
|
|
return x.DiskType
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetFsync() bool {
|
|
if x != nil {
|
|
return x.Fsync
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetVolumeGrowthCount() uint32 {
|
|
if x != nil {
|
|
return x.VolumeGrowthCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetReadOnly() bool {
|
|
if x != nil {
|
|
return x.ReadOnly
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetDataCenter() string {
|
|
if x != nil {
|
|
return x.DataCenter
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetRack() string {
|
|
if x != nil {
|
|
return x.Rack
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetDataNode() string {
|
|
if x != nil {
|
|
return x.DataNode
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetMaxFileNameLength() uint32 {
|
|
if x != nil {
|
|
return x.MaxFileNameLength
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetDisableChunkDeletion() bool {
|
|
if x != nil {
|
|
return x.DisableChunkDeletion
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetWorm() bool {
|
|
if x != nil && x.Worm != nil {
|
|
return *x.Worm
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetWormGracePeriodSeconds() uint64 {
|
|
if x != nil {
|
|
return x.WormGracePeriodSeconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *FilerConf_PathConf) GetWormRetentionTimeSeconds() uint64 {
|
|
if x != nil {
|
|
return x.WormRetentionTimeSeconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
var File_filer_proto protoreflect.FileDescriptor
|
|
|
|
const file_filer_proto_rawDesc = "" +
|
|
"\n" +
|
|
"\vfiler.proto\x12\bfiler_pb\"O\n" +
|
|
"\x1bLookupDirectoryEntryRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12\x12\n" +
|
|
"\x04name\x18\x02 \x01(\tR\x04name\"\x86\x01\n" +
|
|
"\x1cLookupDirectoryEntryResponse\x12%\n" +
|
|
"\x05entry\x18\x01 \x01(\v2\x0f.filer_pb.EntryR\x05entry\x12\x1a\n" +
|
|
"\tlog_ts_ns\x18\x02 \x01(\x03R\alogTsNs\x12#\n" +
|
|
"\rlog_signature\x18\x03 \x01(\x05R\flogSignature\"\x85\x02\n" +
|
|
"\x12ListEntriesRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12\x16\n" +
|
|
"\x06prefix\x18\x02 \x01(\tR\x06prefix\x12,\n" +
|
|
"\x11startFromFileName\x18\x03 \x01(\tR\x11startFromFileName\x12.\n" +
|
|
"\x12inclusiveStartFrom\x18\x04 \x01(\bR\x12inclusiveStartFrom\x12\x14\n" +
|
|
"\x05limit\x18\x05 \x01(\rR\x05limit\x12$\n" +
|
|
"\x0esnapshot_ts_ns\x18\x06 \x01(\x03R\fsnapshotTsNs\x12\x1f\n" +
|
|
"\vomit_chunks\x18\a \x01(\bR\n" +
|
|
"omitChunks\"b\n" +
|
|
"\x13ListEntriesResponse\x12%\n" +
|
|
"\x05entry\x18\x01 \x01(\v2\x0f.filer_pb.EntryR\x05entry\x12$\n" +
|
|
"\x0esnapshot_ts_ns\x18\x02 \x01(\x03R\fsnapshotTsNs\"\xa1\x02\n" +
|
|
"\vRemoteEntry\x12!\n" +
|
|
"\fstorage_name\x18\x01 \x01(\tR\vstorageName\x120\n" +
|
|
"\x15last_local_sync_ts_ns\x18\x02 \x01(\x03R\x11lastLocalSyncTsNs\x12 \n" +
|
|
"\fremote_e_tag\x18\x03 \x01(\tR\n" +
|
|
"remoteETag\x12!\n" +
|
|
"\fremote_mtime\x18\x04 \x01(\x03R\vremoteMtime\x12\x1f\n" +
|
|
"\vremote_size\x18\x05 \x01(\x03R\n" +
|
|
"remoteSize\x12;\n" +
|
|
"\x17remote_content_encoding\x18\x06 \x01(\tH\x00R\x15remoteContentEncoding\x88\x01\x01B\x1a\n" +
|
|
"\x18_remote_content_encoding\"\x89\x04\n" +
|
|
"\x05Entry\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12!\n" +
|
|
"\fis_directory\x18\x02 \x01(\bR\visDirectory\x12+\n" +
|
|
"\x06chunks\x18\x03 \x03(\v2\x13.filer_pb.FileChunkR\x06chunks\x128\n" +
|
|
"\n" +
|
|
"attributes\x18\x04 \x01(\v2\x18.filer_pb.FuseAttributesR\n" +
|
|
"attributes\x129\n" +
|
|
"\bextended\x18\x05 \x03(\v2\x1d.filer_pb.Entry.ExtendedEntryR\bextended\x12 \n" +
|
|
"\fhard_link_id\x18\a \x01(\fR\n" +
|
|
"hardLinkId\x12*\n" +
|
|
"\x11hard_link_counter\x18\b \x01(\x05R\x0fhardLinkCounter\x12\x18\n" +
|
|
"\acontent\x18\t \x01(\fR\acontent\x128\n" +
|
|
"\fremote_entry\x18\n" +
|
|
" \x01(\v2\x15.filer_pb.RemoteEntryR\vremoteEntry\x12\x14\n" +
|
|
"\x05quota\x18\v \x01(\x03R\x05quota\x122\n" +
|
|
"\x16worm_enforced_at_ts_ns\x18\f \x01(\x03R\x12wormEnforcedAtTsNs\x1a;\n" +
|
|
"\rExtendedEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"D\n" +
|
|
"\tFullEntry\x12\x10\n" +
|
|
"\x03dir\x18\x01 \x01(\tR\x03dir\x12%\n" +
|
|
"\x05entry\x18\x02 \x01(\v2\x0f.filer_pb.EntryR\x05entry\"\x8f\x02\n" +
|
|
"\x11EventNotification\x12,\n" +
|
|
"\told_entry\x18\x01 \x01(\v2\x0f.filer_pb.EntryR\boldEntry\x12,\n" +
|
|
"\tnew_entry\x18\x02 \x01(\v2\x0f.filer_pb.EntryR\bnewEntry\x12#\n" +
|
|
"\rdelete_chunks\x18\x03 \x01(\bR\fdeleteChunks\x12&\n" +
|
|
"\x0fnew_parent_path\x18\x04 \x01(\tR\rnewParentPath\x121\n" +
|
|
"\x15is_from_other_cluster\x18\x05 \x01(\bR\x12isFromOtherCluster\x12\x1e\n" +
|
|
"\n" +
|
|
"signatures\x18\x06 \x03(\x05R\n" +
|
|
"signatures\"\xc7\x03\n" +
|
|
"\tFileChunk\x12\x17\n" +
|
|
"\afile_id\x18\x01 \x01(\tR\x06fileId\x12\x16\n" +
|
|
"\x06offset\x18\x02 \x01(\x03R\x06offset\x12\x12\n" +
|
|
"\x04size\x18\x03 \x01(\x04R\x04size\x12$\n" +
|
|
"\x0emodified_ts_ns\x18\x04 \x01(\x03R\fmodifiedTsNs\x12\x13\n" +
|
|
"\x05e_tag\x18\x05 \x01(\tR\x04eTag\x12$\n" +
|
|
"\x0esource_file_id\x18\x06 \x01(\tR\fsourceFileId\x12\"\n" +
|
|
"\x03fid\x18\a \x01(\v2\x10.filer_pb.FileIdR\x03fid\x12/\n" +
|
|
"\n" +
|
|
"source_fid\x18\b \x01(\v2\x10.filer_pb.FileIdR\tsourceFid\x12\x1d\n" +
|
|
"\n" +
|
|
"cipher_key\x18\t \x01(\fR\tcipherKey\x12#\n" +
|
|
"\ris_compressed\x18\n" +
|
|
" \x01(\bR\fisCompressed\x12*\n" +
|
|
"\x11is_chunk_manifest\x18\v \x01(\bR\x0fisChunkManifest\x12,\n" +
|
|
"\bsse_type\x18\f \x01(\x0e2\x11.filer_pb.SSETypeR\asseType\x12!\n" +
|
|
"\fsse_metadata\x18\r \x01(\fR\vsseMetadata\"@\n" +
|
|
"\x11FileChunkManifest\x12+\n" +
|
|
"\x06chunks\x18\x01 \x03(\v2\x13.filer_pb.FileChunkR\x06chunks\"X\n" +
|
|
"\x06FileId\x12\x1b\n" +
|
|
"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x19\n" +
|
|
"\bfile_key\x18\x02 \x01(\x04R\afileKey\x12\x16\n" +
|
|
"\x06cookie\x18\x03 \x01(\aR\x06cookie\"\x82\x04\n" +
|
|
"\x0eFuseAttributes\x12\x1b\n" +
|
|
"\tfile_size\x18\x01 \x01(\x04R\bfileSize\x12\x14\n" +
|
|
"\x05mtime\x18\x02 \x01(\x03R\x05mtime\x12\x1b\n" +
|
|
"\tfile_mode\x18\x03 \x01(\rR\bfileMode\x12\x10\n" +
|
|
"\x03uid\x18\x04 \x01(\rR\x03uid\x12\x10\n" +
|
|
"\x03gid\x18\x05 \x01(\rR\x03gid\x12\x16\n" +
|
|
"\x06crtime\x18\x06 \x01(\x03R\x06crtime\x12\x12\n" +
|
|
"\x04mime\x18\a \x01(\tR\x04mime\x12\x17\n" +
|
|
"\attl_sec\x18\n" +
|
|
" \x01(\x05R\x06ttlSec\x12\x1b\n" +
|
|
"\tuser_name\x18\v \x01(\tR\buserName\x12\x1d\n" +
|
|
"\n" +
|
|
"group_name\x18\f \x03(\tR\tgroupName\x12%\n" +
|
|
"\x0esymlink_target\x18\r \x01(\tR\rsymlinkTarget\x12\x10\n" +
|
|
"\x03md5\x18\x0e \x01(\fR\x03md5\x12\x12\n" +
|
|
"\x04rdev\x18\x10 \x01(\rR\x04rdev\x12\x14\n" +
|
|
"\x05inode\x18\x11 \x01(\x04R\x05inode\x12\x14\n" +
|
|
"\x05ctime\x18\x12 \x01(\x03R\x05ctime\x12\x19\n" +
|
|
"\bmtime_ns\x18\x13 \x01(\x05R\amtimeNs\x12\x19\n" +
|
|
"\bctime_ns\x18\x14 \x01(\x05R\actimeNs\x12\x1b\n" +
|
|
"\tcrtime_ns\x18\x15 \x01(\x05R\bcrtimeNs\x12\x14\n" +
|
|
"\x05atime\x18\x16 \x01(\x03R\x05atime\x12\x19\n" +
|
|
"\batime_ns\x18\x17 \x01(\x05R\aatimeNs\"\xba\x02\n" +
|
|
"\x12CreateEntryRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12%\n" +
|
|
"\x05entry\x18\x02 \x01(\v2\x0f.filer_pb.EntryR\x05entry\x12\x15\n" +
|
|
"\x06o_excl\x18\x03 \x01(\bR\x05oExcl\x121\n" +
|
|
"\x15is_from_other_cluster\x18\x04 \x01(\bR\x12isFromOtherCluster\x12\x1e\n" +
|
|
"\n" +
|
|
"signatures\x18\x05 \x03(\x05R\n" +
|
|
"signatures\x12=\n" +
|
|
"\x1bskip_check_parent_directory\x18\x06 \x01(\bR\x18skipCheckParentDirectory\x126\n" +
|
|
"\tcondition\x18\a \x01(\v2\x18.filer_pb.WriteConditionR\tcondition\"\xbc\x04\n" +
|
|
"\x0eWriteCondition\x129\n" +
|
|
"\aclauses\x18\x01 \x03(\v2\x1f.filer_pb.WriteCondition.ClauseR\aclauses\x1a\x91\x02\n" +
|
|
"\x06Clause\x121\n" +
|
|
"\x04kind\x18\x01 \x01(\x0e2\x1d.filer_pb.WriteCondition.KindR\x04kind\x12\x14\n" +
|
|
"\x05etags\x18\x02 \x03(\tR\x05etags\x12\x1b\n" +
|
|
"\tunix_time\x18\x03 \x01(\x03R\bunixTime\x12\x1d\n" +
|
|
"\n" +
|
|
"allow_weak\x18\x04 \x01(\bR\tallowWeak\x12\x17\n" +
|
|
"\aext_key\x18\x05 \x01(\tR\x06extKey\x12\x1b\n" +
|
|
"\text_value\x18\x06 \x01(\tR\bextValue\x12\x19\n" +
|
|
"\bgate_key\x18\a \x01(\tR\agateKey\x12\x1d\n" +
|
|
"\n" +
|
|
"gate_value\x18\b \x01(\tR\tgateValue\x12\x12\n" +
|
|
"\x04fids\x18\t \x03(\tR\x04fids\"\xda\x01\n" +
|
|
"\x04Kind\x12\b\n" +
|
|
"\x04NONE\x10\x00\x12\x11\n" +
|
|
"\rIF_NOT_EXISTS\x10\x01\x12\r\n" +
|
|
"\tIF_EXISTS\x10\x02\x12\x11\n" +
|
|
"\rIF_ETAG_MATCH\x10\x03\x12\x15\n" +
|
|
"\x11IF_ETAG_NOT_MATCH\x10\x04\x12\x17\n" +
|
|
"\x13IF_UNMODIFIED_SINCE\x10\x05\x12\x15\n" +
|
|
"\x11IF_MODIFIED_SINCE\x10\x06\x12\x19\n" +
|
|
"\x15IF_EXTENDED_NOT_EQUAL\x10\a\x12\x1c\n" +
|
|
"\x18IF_EXTENDED_TIME_ELAPSED\x10\b\x12\x13\n" +
|
|
"\x0fIF_CHUNKS_EQUAL\x10\t\"\xa2\x05\n" +
|
|
"\x0eObjectMutation\x121\n" +
|
|
"\x04type\x18\x01 \x01(\x0e2\x1d.filer_pb.ObjectMutation.TypeR\x04type\x12\x1c\n" +
|
|
"\tdirectory\x18\x02 \x01(\tR\tdirectory\x12\x12\n" +
|
|
"\x04name\x18\x03 \x01(\tR\x04name\x12%\n" +
|
|
"\x05entry\x18\x04 \x01(\v2\x0f.filer_pb.EntryR\x05entry\x12L\n" +
|
|
"\fset_extended\x18\x05 \x03(\v2).filer_pb.ObjectMutation.SetExtendedEntryR\vsetExtended\x12'\n" +
|
|
"\x0fdelete_extended\x18\x06 \x03(\tR\x0edeleteExtended\x12$\n" +
|
|
"\x0eis_delete_data\x18\a \x01(\bR\fisDeleteData\x12!\n" +
|
|
"\fis_recursive\x18\b \x01(\bR\visRecursive\x121\n" +
|
|
"\trecompute\x18\t \x01(\v2\x13.filer_pb.RecomputeR\trecompute\x12\x1f\n" +
|
|
"\vset_content\x18\n" +
|
|
" \x01(\bR\n" +
|
|
"setContent\x12\x18\n" +
|
|
"\acontent\x18\v \x01(\fR\acontent\x12\x1f\n" +
|
|
"\vtouch_mtime\x18\f \x01(\bR\n" +
|
|
"touchMtime\x12.\n" +
|
|
"\x13remove_empty_parent\x18\r \x01(\bR\x11removeEmptyParent\x1a>\n" +
|
|
"\x10SetExtendedEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"E\n" +
|
|
"\x04Type\x12\a\n" +
|
|
"\x03PUT\x10\x00\x12\n" +
|
|
"\n" +
|
|
"\x06DELETE\x10\x01\x12\x12\n" +
|
|
"\x0ePATCH_EXTENDED\x10\x02\x12\x14\n" +
|
|
"\x10RECOMPUTE_LATEST\x10\x03\"\x9a\x03\n" +
|
|
"\tRecompute\x12\x19\n" +
|
|
"\bscan_dir\x18\x01 \x01(\tR\ascanDir\x12\x1e\n" +
|
|
"\n" +
|
|
"descending\x18\x02 \x01(\bR\n" +
|
|
"descending\x12J\n" +
|
|
"\rcopy_extended\x18\x03 \x03(\v2%.filer_pb.Recompute.CopyExtendedEntryR\fcopyExtended\x12\x1e\n" +
|
|
"\vname_to_key\x18\x04 \x01(\tR\tnameToKey\x12\x1e\n" +
|
|
"\vsize_to_key\x18\x05 \x01(\tR\tsizeToKey\x12 \n" +
|
|
"\fmtime_to_key\x18\x06 \x01(\tR\n" +
|
|
"mtimeToKey\x12\x1d\n" +
|
|
"\n" +
|
|
"demote_key\x18\a \x01(\tR\tdemoteKey\x12!\n" +
|
|
"\fdemote_value\x18\b \x01(\fR\vdemoteValue\x12!\n" +
|
|
"\fexclude_name\x18\t \x01(\tR\vexcludeName\x1a?\n" +
|
|
"\x11CopyExtendedEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xd5\x02\n" +
|
|
"\x18ObjectTransactionRequest\x12\x19\n" +
|
|
"\block_key\x18\x01 \x01(\tR\alockKey\x126\n" +
|
|
"\tcondition\x18\x02 \x01(\v2\x18.filer_pb.WriteConditionR\tcondition\x126\n" +
|
|
"\tmutations\x18\x03 \x03(\v2\x18.filer_pb.ObjectMutationR\tmutations\x121\n" +
|
|
"\x15is_from_other_cluster\x18\x04 \x01(\bR\x12isFromOtherCluster\x12\x1e\n" +
|
|
"\n" +
|
|
"signatures\x18\x05 \x03(\x05R\n" +
|
|
"signatures\x12#\n" +
|
|
"\rcondition_key\x18\x06 \x01(\tR\fconditionKey\x12\x1b\n" +
|
|
"\troute_key\x18\a \x01(\tR\brouteKey\x12\x19\n" +
|
|
"\bis_moved\x18\b \x01(\bR\aisMoved\"f\n" +
|
|
"\x19ObjectTransactionResponse\x12\x14\n" +
|
|
"\x05error\x18\x01 \x01(\tR\x05error\x123\n" +
|
|
"\n" +
|
|
"error_code\x18\x02 \x01(\x0e2\x14.filer_pb.FilerErrorR\terrorCode\"\xa1\x01\n" +
|
|
"\x0ePosixLockRange\x12\x14\n" +
|
|
"\x05start\x18\x01 \x01(\x04R\x05start\x12\x10\n" +
|
|
"\x03end\x18\x02 \x01(\x04R\x03end\x12\x12\n" +
|
|
"\x04type\x18\x03 \x01(\rR\x04type\x12\x10\n" +
|
|
"\x03sid\x18\x04 \x01(\x04R\x03sid\x12\x14\n" +
|
|
"\x05owner\x18\x05 \x01(\x04R\x05owner\x12\x10\n" +
|
|
"\x03pid\x18\x06 \x01(\rR\x03pid\x12\x19\n" +
|
|
"\bis_flock\x18\a \x01(\bR\aisFlock\"\xe9\x01\n" +
|
|
"\x10PosixLockRequest\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x19\n" +
|
|
"\bis_moved\x18\x02 \x01(\bR\aisMoved\x12%\n" +
|
|
"\x02op\x18\x03 \x01(\x0e2\x15.filer_pb.PosixLockOpR\x02op\x12,\n" +
|
|
"\x04lock\x18\x04 \x01(\v2\x18.filer_pb.PosixLockRangeR\x04lock\x12.\n" +
|
|
"\x05locks\x18\x05 \x03(\v2\x18.filer_pb.PosixLockRangeR\x05locks\x12#\n" +
|
|
"\rcooling_probe\x18\x06 \x01(\bR\fcoolingProbe\"\x86\x01\n" +
|
|
"\x11PosixLockResponse\x12\x18\n" +
|
|
"\agranted\x18\x01 \x01(\bR\agranted\x12!\n" +
|
|
"\fhas_conflict\x18\x02 \x01(\bR\vhasConflict\x124\n" +
|
|
"\bconflict\x18\x03 \x01(\v2\x18.filer_pb.PosixLockRangeR\bconflict\"g\n" +
|
|
"\x1dObjectTransactionBatchRequest\x12F\n" +
|
|
"\ftransactions\x18\x01 \x03(\v2\".filer_pb.ObjectTransactionRequestR\ftransactions\"c\n" +
|
|
"\x1eObjectTransactionBatchResponse\x12A\n" +
|
|
"\tresponses\x18\x01 \x03(\v2#.filer_pb.ObjectTransactionResponseR\tresponses\"\xed\x01\n" +
|
|
"\x13CreateEntryResponse\x12\x14\n" +
|
|
"\x05error\x18\x01 \x01(\tR\x05error\x12J\n" +
|
|
"\x0emetadata_event\x18\x02 \x01(\v2#.filer_pb.SubscribeMetadataResponseR\rmetadataEvent\x123\n" +
|
|
"\n" +
|
|
"error_code\x18\x03 \x01(\x0e2\x14.filer_pb.FilerErrorR\terrorCode\x12\x1a\n" +
|
|
"\tlog_ts_ns\x18\x04 \x01(\x03R\alogTsNs\x12#\n" +
|
|
"\rlog_signature\x18\x05 \x01(\x05R\flogSignature\"\x8a\x03\n" +
|
|
"\x12UpdateEntryRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12%\n" +
|
|
"\x05entry\x18\x02 \x01(\v2\x0f.filer_pb.EntryR\x05entry\x121\n" +
|
|
"\x15is_from_other_cluster\x18\x03 \x01(\bR\x12isFromOtherCluster\x12\x1e\n" +
|
|
"\n" +
|
|
"signatures\x18\x04 \x03(\x05R\n" +
|
|
"signatures\x12_\n" +
|
|
"\x11expected_extended\x18\x05 \x03(\v22.filer_pb.UpdateEntryRequest.ExpectedExtendedEntryR\x10expectedExtended\x126\n" +
|
|
"\tcondition\x18\x06 \x01(\v2\x18.filer_pb.WriteConditionR\tcondition\x1aC\n" +
|
|
"\x15ExpectedExtendedEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"\xa2\x01\n" +
|
|
"\x13UpdateEntryResponse\x12J\n" +
|
|
"\x0emetadata_event\x18\x01 \x01(\v2#.filer_pb.SubscribeMetadataResponseR\rmetadataEvent\x12\x1a\n" +
|
|
"\tlog_ts_ns\x18\x02 \x01(\x03R\alogTsNs\x12#\n" +
|
|
"\rlog_signature\x18\x03 \x01(\x05R\flogSignature\"r\n" +
|
|
"\x16TouchAccessTimeRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12\x12\n" +
|
|
"\x04name\x18\x02 \x01(\tR\x04name\x12&\n" +
|
|
"\x0fclient_atime_ns\x18\x03 \x01(\x03R\rclientAtimeNs\"a\n" +
|
|
"\x17TouchAccessTimeResponse\x12,\n" +
|
|
"\x12persisted_atime_ns\x18\x01 \x01(\x03R\x10persistedAtimeNs\x12\x18\n" +
|
|
"\aupdated\x18\x02 \x01(\bR\aupdated\"\x80\x01\n" +
|
|
"\x14AppendToEntryRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12\x1d\n" +
|
|
"\n" +
|
|
"entry_name\x18\x02 \x01(\tR\tentryName\x12+\n" +
|
|
"\x06chunks\x18\x03 \x03(\v2\x13.filer_pb.FileChunkR\x06chunks\"\x17\n" +
|
|
"\x15AppendToEntryResponse\"\xcb\x02\n" +
|
|
"\x12DeleteEntryRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12\x12\n" +
|
|
"\x04name\x18\x02 \x01(\tR\x04name\x12$\n" +
|
|
"\x0eis_delete_data\x18\x04 \x01(\bR\fisDeleteData\x12!\n" +
|
|
"\fis_recursive\x18\x05 \x01(\bR\visRecursive\x124\n" +
|
|
"\x16ignore_recursive_error\x18\x06 \x01(\bR\x14ignoreRecursiveError\x121\n" +
|
|
"\x15is_from_other_cluster\x18\a \x01(\bR\x12isFromOtherCluster\x12\x1e\n" +
|
|
"\n" +
|
|
"signatures\x18\b \x03(\x05R\n" +
|
|
"signatures\x121\n" +
|
|
"\x15if_not_modified_after\x18\t \x01(\x03R\x12ifNotModifiedAfter\"w\n" +
|
|
"\x13DeleteEntryResponse\x12\x14\n" +
|
|
"\x05error\x18\x01 \x01(\tR\x05error\x12J\n" +
|
|
"\x0emetadata_event\x18\x02 \x01(\v2#.filer_pb.SubscribeMetadataResponseR\rmetadataEvent\"\xba\x01\n" +
|
|
"\x18AtomicRenameEntryRequest\x12#\n" +
|
|
"\rold_directory\x18\x01 \x01(\tR\foldDirectory\x12\x19\n" +
|
|
"\bold_name\x18\x02 \x01(\tR\aoldName\x12#\n" +
|
|
"\rnew_directory\x18\x03 \x01(\tR\fnewDirectory\x12\x19\n" +
|
|
"\bnew_name\x18\x04 \x01(\tR\anewName\x12\x1e\n" +
|
|
"\n" +
|
|
"signatures\x18\x05 \x03(\x05R\n" +
|
|
"signatures\"\x1b\n" +
|
|
"\x19AtomicRenameEntryResponse\"\xba\x01\n" +
|
|
"\x18StreamRenameEntryRequest\x12#\n" +
|
|
"\rold_directory\x18\x01 \x01(\tR\foldDirectory\x12\x19\n" +
|
|
"\bold_name\x18\x02 \x01(\tR\aoldName\x12#\n" +
|
|
"\rnew_directory\x18\x03 \x01(\tR\fnewDirectory\x12\x19\n" +
|
|
"\bnew_name\x18\x04 \x01(\tR\anewName\x12\x1e\n" +
|
|
"\n" +
|
|
"signatures\x18\x05 \x03(\x05R\n" +
|
|
"signatures\"\x9a\x01\n" +
|
|
"\x19StreamRenameEntryResponse\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12J\n" +
|
|
"\x12event_notification\x18\x02 \x01(\v2\x1b.filer_pb.EventNotificationR\x11eventNotification\x12\x13\n" +
|
|
"\x05ts_ns\x18\x03 \x01(\x03R\x04tsNs\"\xb7\x02\n" +
|
|
"\x13AssignVolumeRequest\x12\x14\n" +
|
|
"\x05count\x18\x01 \x01(\x05R\x05count\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\x02 \x01(\tR\n" +
|
|
"collection\x12 \n" +
|
|
"\vreplication\x18\x03 \x01(\tR\vreplication\x12\x17\n" +
|
|
"\attl_sec\x18\x04 \x01(\x05R\x06ttlSec\x12\x1f\n" +
|
|
"\vdata_center\x18\x05 \x01(\tR\n" +
|
|
"dataCenter\x12\x12\n" +
|
|
"\x04path\x18\x06 \x01(\tR\x04path\x12\x12\n" +
|
|
"\x04rack\x18\a \x01(\tR\x04rack\x12\x1b\n" +
|
|
"\tdata_node\x18\t \x01(\tR\bdataNode\x12\x1b\n" +
|
|
"\tdisk_type\x18\b \x01(\tR\bdiskType\x12,\n" +
|
|
"\x12expected_data_size\x18\n" +
|
|
" \x01(\x04R\x10expectedDataSize\"\xa7\x02\n" +
|
|
"\x14AssignVolumeResponse\x12\x17\n" +
|
|
"\afile_id\x18\x01 \x01(\tR\x06fileId\x12\x14\n" +
|
|
"\x05count\x18\x04 \x01(\x05R\x05count\x12\x12\n" +
|
|
"\x04auth\x18\x05 \x01(\tR\x04auth\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\x06 \x01(\tR\n" +
|
|
"collection\x12 \n" +
|
|
"\vreplication\x18\a \x01(\tR\vreplication\x12\x14\n" +
|
|
"\x05error\x18\b \x01(\tR\x05error\x12.\n" +
|
|
"\blocation\x18\t \x01(\v2\x12.filer_pb.LocationR\blocation\x12.\n" +
|
|
"\breplicas\x18\n" +
|
|
" \x03(\v2\x12.filer_pb.LocationR\breplicas\x12\x14\n" +
|
|
"\x05fsync\x18\v \x01(\bR\x05fsync\"4\n" +
|
|
"\x13LookupVolumeRequest\x12\x1d\n" +
|
|
"\n" +
|
|
"volume_ids\x18\x01 \x03(\tR\tvolumeIds\"=\n" +
|
|
"\tLocations\x120\n" +
|
|
"\tlocations\x18\x01 \x03(\v2\x12.filer_pb.LocationR\tlocations\"\x9f\x01\n" +
|
|
"\bLocation\x12\x10\n" +
|
|
"\x03url\x18\x01 \x01(\tR\x03url\x12\x1d\n" +
|
|
"\n" +
|
|
"public_url\x18\x02 \x01(\tR\tpublicUrl\x12\x1b\n" +
|
|
"\tgrpc_port\x18\x03 \x01(\rR\bgrpcPort\x12\x1f\n" +
|
|
"\vdata_center\x18\x04 \x01(\tR\n" +
|
|
"dataCenter\x12$\n" +
|
|
"\x0edata_in_remote\x18\x05 \x01(\bR\fdataInRemote\"\xc3\x01\n" +
|
|
"\x14LookupVolumeResponse\x12U\n" +
|
|
"\rlocations_map\x18\x01 \x03(\v20.filer_pb.LookupVolumeResponse.LocationsMapEntryR\flocationsMap\x1aT\n" +
|
|
"\x11LocationsMapEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12)\n" +
|
|
"\x05value\x18\x02 \x01(\v2\x13.filer_pb.LocationsR\x05value:\x028\x01\" \n" +
|
|
"\n" +
|
|
"Collection\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\"{\n" +
|
|
"\x15CollectionListRequest\x124\n" +
|
|
"\x16include_normal_volumes\x18\x01 \x01(\bR\x14includeNormalVolumes\x12,\n" +
|
|
"\x12include_ec_volumes\x18\x02 \x01(\bR\x10includeEcVolumes\"P\n" +
|
|
"\x16CollectionListResponse\x126\n" +
|
|
"\vcollections\x18\x01 \x03(\v2\x14.filer_pb.CollectionR\vcollections\"9\n" +
|
|
"\x17DeleteCollectionRequest\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\x01 \x01(\tR\n" +
|
|
"collection\"\x1a\n" +
|
|
"\x18DeleteCollectionResponse\"\x84\x01\n" +
|
|
"\x11StatisticsRequest\x12 \n" +
|
|
"\vreplication\x18\x01 \x01(\tR\vreplication\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\x02 \x01(\tR\n" +
|
|
"collection\x12\x10\n" +
|
|
"\x03ttl\x18\x03 \x01(\tR\x03ttl\x12\x1b\n" +
|
|
"\tdisk_type\x18\x04 \x01(\tR\bdiskType\"\xc9\x01\n" +
|
|
"\x12StatisticsResponse\x12\x1d\n" +
|
|
"\n" +
|
|
"total_size\x18\x04 \x01(\x04R\ttotalSize\x12\x1b\n" +
|
|
"\tused_size\x18\x05 \x01(\x04R\busedSize\x12\x1d\n" +
|
|
"\n" +
|
|
"file_count\x18\x06 \x01(\x04R\tfileCount\x12,\n" +
|
|
"\x12logical_total_size\x18\a \x01(\x04R\x10logicalTotalSize\x12*\n" +
|
|
"\x11logical_used_size\x18\b \x01(\x04R\x0flogicalUsedSize\"F\n" +
|
|
"\vPingRequest\x12\x16\n" +
|
|
"\x06target\x18\x01 \x01(\tR\x06target\x12\x1f\n" +
|
|
"\vtarget_type\x18\x02 \x01(\tR\n" +
|
|
"targetType\"z\n" +
|
|
"\fPingResponse\x12\"\n" +
|
|
"\rstart_time_ns\x18\x01 \x01(\x03R\vstartTimeNs\x12$\n" +
|
|
"\x0eremote_time_ns\x18\x02 \x01(\x03R\fremoteTimeNs\x12 \n" +
|
|
"\fstop_time_ns\x18\x03 \x01(\x03R\n" +
|
|
"stopTimeNs\"\x1e\n" +
|
|
"\x1cGetFilerConfigurationRequest\"\xe8\x03\n" +
|
|
"\x1dGetFilerConfigurationResponse\x12\x18\n" +
|
|
"\amasters\x18\x01 \x03(\tR\amasters\x12 \n" +
|
|
"\vreplication\x18\x02 \x01(\tR\vreplication\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\x03 \x01(\tR\n" +
|
|
"collection\x12\x15\n" +
|
|
"\x06max_mb\x18\x04 \x01(\rR\x05maxMb\x12\x1f\n" +
|
|
"\vdir_buckets\x18\x05 \x01(\tR\n" +
|
|
"dirBuckets\x12\x16\n" +
|
|
"\x06cipher\x18\a \x01(\bR\x06cipher\x12\x1c\n" +
|
|
"\tsignature\x18\b \x01(\x05R\tsignature\x12'\n" +
|
|
"\x0fmetrics_address\x18\t \x01(\tR\x0emetricsAddress\x120\n" +
|
|
"\x14metrics_interval_sec\x18\n" +
|
|
" \x01(\x05R\x12metricsIntervalSec\x12\x18\n" +
|
|
"\aversion\x18\v \x01(\tR\aversion\x12\x1d\n" +
|
|
"\n" +
|
|
"cluster_id\x18\f \x01(\tR\tclusterId\x12\x1f\n" +
|
|
"\vfiler_group\x18\r \x01(\tR\n" +
|
|
"filerGroup\x12#\n" +
|
|
"\rmajor_version\x18\x0e \x01(\x05R\fmajorVersion\x12#\n" +
|
|
"\rminor_version\x18\x0f \x01(\x05R\fminorVersion\"\xfd\x03\n" +
|
|
"\x18SubscribeMetadataRequest\x12\x1f\n" +
|
|
"\vclient_name\x18\x01 \x01(\tR\n" +
|
|
"clientName\x12\x1f\n" +
|
|
"\vpath_prefix\x18\x02 \x01(\tR\n" +
|
|
"pathPrefix\x12\x19\n" +
|
|
"\bsince_ns\x18\x03 \x01(\x03R\asinceNs\x12\x1c\n" +
|
|
"\tsignature\x18\x04 \x01(\x05R\tsignature\x12#\n" +
|
|
"\rpath_prefixes\x18\x06 \x03(\tR\fpathPrefixes\x12\x1b\n" +
|
|
"\tclient_id\x18\a \x01(\x05R\bclientId\x12\x19\n" +
|
|
"\buntil_ns\x18\b \x01(\x03R\auntilNs\x12!\n" +
|
|
"\fclient_epoch\x18\t \x01(\x05R\vclientEpoch\x12 \n" +
|
|
"\vdirectories\x18\n" +
|
|
" \x03(\tR\vdirectories\x128\n" +
|
|
"\x18client_supports_batching\x18\v \x01(\bR\x16clientSupportsBatching\x12E\n" +
|
|
"\x1fclient_supports_metadata_chunks\x18\f \x01(\bR\x1cclientSupportsMetadataChunks\x12C\n" +
|
|
"\x1eclient_supports_idle_heartbeat\x18\r \x01(\bR\x1bclientSupportsIdleHeartbeat\"\xba\x02\n" +
|
|
"\x19SubscribeMetadataResponse\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12J\n" +
|
|
"\x12event_notification\x18\x02 \x01(\v2\x1b.filer_pb.EventNotificationR\x11eventNotification\x12\x13\n" +
|
|
"\x05ts_ns\x18\x03 \x01(\x03R\x04tsNs\x12;\n" +
|
|
"\x06events\x18\x04 \x03(\v2#.filer_pb.SubscribeMetadataResponseR\x06events\x12=\n" +
|
|
"\rlog_file_refs\x18\x05 \x03(\v2\x19.filer_pb.LogFileChunkRefR\vlogFileRefs\x12\"\n" +
|
|
"\rflushed_ts_ns\x18\x06 \x01(\x03R\vflushedTsNs\"C\n" +
|
|
"\x1eListMetadataSubscribersRequest\x12!\n" +
|
|
"\fclient_types\x18\x01 \x03(\tR\vclientTypes\"a\n" +
|
|
"\x1fListMetadataSubscribersResponse\x12>\n" +
|
|
"\vsubscribers\x18\x01 \x03(\v2\x1c.filer_pb.MetadataSubscriberR\vsubscribers\"\x9e\x02\n" +
|
|
"\x12MetadataSubscriber\x12\x1f\n" +
|
|
"\vclient_name\x18\x01 \x01(\tR\n" +
|
|
"clientName\x12\x1f\n" +
|
|
"\vclient_type\x18\x02 \x01(\tR\n" +
|
|
"clientType\x12\x18\n" +
|
|
"\aaddress\x18\x03 \x01(\tR\aaddress\x12\x1f\n" +
|
|
"\vpath_prefix\x18\x04 \x01(\tR\n" +
|
|
"pathPrefix\x12\x1b\n" +
|
|
"\tclient_id\x18\x05 \x01(\x05R\bclientId\x12!\n" +
|
|
"\fclient_epoch\x18\x06 \x01(\x05R\vclientEpoch\x12&\n" +
|
|
"\x0fconnected_at_ns\x18\a \x01(\x03R\rconnectedAtNs\x12#\n" +
|
|
"\rfiler_address\x18\b \x01(\tR\ffilerAddress\"w\n" +
|
|
"\x0fLogFileChunkRef\x12+\n" +
|
|
"\x06chunks\x18\x01 \x03(\v2\x13.filer_pb.FileChunkR\x06chunks\x12\x1c\n" +
|
|
"\n" +
|
|
"file_ts_ns\x18\x02 \x01(\x03R\bfileTsNs\x12\x19\n" +
|
|
"\bfiler_id\x18\x03 \x01(\tR\afilerId\"g\n" +
|
|
"\x1aTraverseBfsMetadataRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12+\n" +
|
|
"\x11excluded_prefixes\x18\x02 \x03(\tR\x10excludedPrefixes\"b\n" +
|
|
"\x1bTraverseBfsMetadataResponse\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12%\n" +
|
|
"\x05entry\x18\x02 \x01(\v2\x0f.filer_pb.EntryR\x05entry\"\x8b\x01\n" +
|
|
"\bLogEntry\x12\x13\n" +
|
|
"\x05ts_ns\x18\x01 \x01(\x03R\x04tsNs\x12,\n" +
|
|
"\x12partition_key_hash\x18\x02 \x01(\x05R\x10partitionKeyHash\x12\x12\n" +
|
|
"\x04data\x18\x03 \x01(\fR\x04data\x12\x10\n" +
|
|
"\x03key\x18\x04 \x01(\fR\x03key\x12\x16\n" +
|
|
"\x06offset\x18\x05 \x01(\x03R\x06offset\"e\n" +
|
|
"\x14KeepConnectedRequest\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n" +
|
|
"\tgrpc_port\x18\x02 \x01(\rR\bgrpcPort\x12\x1c\n" +
|
|
"\tresources\x18\x03 \x03(\tR\tresources\"\x17\n" +
|
|
"\x15KeepConnectedResponse\"1\n" +
|
|
"\x13LocateBrokerRequest\x12\x1a\n" +
|
|
"\bresource\x18\x01 \x01(\tR\bresource\"\xcd\x01\n" +
|
|
"\x14LocateBrokerResponse\x12\x14\n" +
|
|
"\x05found\x18\x01 \x01(\bR\x05found\x12E\n" +
|
|
"\tresources\x18\x02 \x03(\v2'.filer_pb.LocateBrokerResponse.ResourceR\tresources\x1aX\n" +
|
|
"\bResource\x12%\n" +
|
|
"\x0egrpc_addresses\x18\x01 \x01(\tR\rgrpcAddresses\x12%\n" +
|
|
"\x0eresource_count\x18\x02 \x01(\x05R\rresourceCount\" \n" +
|
|
"\fKvGetRequest\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\fR\x03key\";\n" +
|
|
"\rKvGetResponse\x12\x14\n" +
|
|
"\x05value\x18\x01 \x01(\fR\x05value\x12\x14\n" +
|
|
"\x05error\x18\x02 \x01(\tR\x05error\"6\n" +
|
|
"\fKvPutRequest\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\fR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\fR\x05value\"%\n" +
|
|
"\rKvPutResponse\x12\x14\n" +
|
|
"\x05error\x18\x01 \x01(\tR\x05error\"\xc0\x05\n" +
|
|
"\tFilerConf\x12\x18\n" +
|
|
"\aversion\x18\x01 \x01(\x05R\aversion\x12:\n" +
|
|
"\tlocations\x18\x02 \x03(\v2\x1c.filer_pb.FilerConf.PathConfR\tlocations\x1a\xdc\x04\n" +
|
|
"\bPathConf\x12'\n" +
|
|
"\x0flocation_prefix\x18\x01 \x01(\tR\x0elocationPrefix\x12\x1e\n" +
|
|
"\n" +
|
|
"collection\x18\x02 \x01(\tR\n" +
|
|
"collection\x12 \n" +
|
|
"\vreplication\x18\x03 \x01(\tR\vreplication\x12\x10\n" +
|
|
"\x03ttl\x18\x04 \x01(\tR\x03ttl\x12\x1b\n" +
|
|
"\tdisk_type\x18\x05 \x01(\tR\bdiskType\x12\x14\n" +
|
|
"\x05fsync\x18\x06 \x01(\bR\x05fsync\x12.\n" +
|
|
"\x13volume_growth_count\x18\a \x01(\rR\x11volumeGrowthCount\x12\x1b\n" +
|
|
"\tread_only\x18\b \x01(\bR\breadOnly\x12\x1f\n" +
|
|
"\vdata_center\x18\t \x01(\tR\n" +
|
|
"dataCenter\x12\x12\n" +
|
|
"\x04rack\x18\n" +
|
|
" \x01(\tR\x04rack\x12\x1b\n" +
|
|
"\tdata_node\x18\v \x01(\tR\bdataNode\x12/\n" +
|
|
"\x14max_file_name_length\x18\f \x01(\rR\x11maxFileNameLength\x124\n" +
|
|
"\x16disable_chunk_deletion\x18\r \x01(\bR\x14disableChunkDeletion\x12\x17\n" +
|
|
"\x04worm\x18\x0e \x01(\bH\x00R\x04worm\x88\x01\x01\x129\n" +
|
|
"\x19worm_grace_period_seconds\x18\x0f \x01(\x04R\x16wormGracePeriodSeconds\x12=\n" +
|
|
"\x1bworm_retention_time_seconds\x18\x10 \x01(\x04R\x18wormRetentionTimeSecondsB\a\n" +
|
|
"\x05_worm\"\xba\x01\n" +
|
|
"&CacheRemoteObjectToLocalClusterRequest\x12\x1c\n" +
|
|
"\tdirectory\x18\x01 \x01(\tR\tdirectory\x12\x12\n" +
|
|
"\x04name\x18\x02 \x01(\tR\x04name\x12+\n" +
|
|
"\x11chunk_concurrency\x18\x03 \x01(\x05R\x10chunkConcurrency\x121\n" +
|
|
"\x14download_concurrency\x18\x04 \x01(\x05R\x13downloadConcurrency\"\xdd\x01\n" +
|
|
"'CacheRemoteObjectToLocalClusterResponse\x12%\n" +
|
|
"\x05entry\x18\x01 \x01(\v2\x0f.filer_pb.EntryR\x05entry\x12J\n" +
|
|
"\x0emetadata_event\x18\x02 \x01(\v2#.filer_pb.SubscribeMetadataResponseR\rmetadataEvent\x12\x1a\n" +
|
|
"\tlog_ts_ns\x18\x03 \x01(\x03R\alogTsNs\x12#\n" +
|
|
"\rlog_signature\x18\x04 \x01(\x05R\flogSignature\"\x9b\x01\n" +
|
|
"\vLockRequest\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12&\n" +
|
|
"\x0fseconds_to_lock\x18\x02 \x01(\x03R\rsecondsToLock\x12\x1f\n" +
|
|
"\vrenew_token\x18\x03 \x01(\tR\n" +
|
|
"renewToken\x12\x19\n" +
|
|
"\bis_moved\x18\x04 \x01(\bR\aisMoved\x12\x14\n" +
|
|
"\x05owner\x18\x05 \x01(\tR\x05owner\"\xb1\x01\n" +
|
|
"\fLockResponse\x12\x1f\n" +
|
|
"\vrenew_token\x18\x01 \x01(\tR\n" +
|
|
"renewToken\x12\x1d\n" +
|
|
"\n" +
|
|
"lock_owner\x18\x02 \x01(\tR\tlockOwner\x12+\n" +
|
|
"\x12lock_host_moved_to\x18\x03 \x01(\tR\x0flockHostMovedTo\x12\x14\n" +
|
|
"\x05error\x18\x04 \x01(\tR\x05error\x12\x1e\n" +
|
|
"\n" +
|
|
"generation\x18\x05 \x01(\x03R\n" +
|
|
"generation\"_\n" +
|
|
"\rUnlockRequest\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n" +
|
|
"\vrenew_token\x18\x02 \x01(\tR\n" +
|
|
"renewToken\x12\x19\n" +
|
|
"\bis_moved\x18\x03 \x01(\bR\aisMoved\"A\n" +
|
|
"\x0eUnlockResponse\x12\x14\n" +
|
|
"\x05error\x18\x01 \x01(\tR\x05error\x12\x19\n" +
|
|
"\bmoved_to\x18\x02 \x01(\tR\amovedTo\"E\n" +
|
|
"\x14FindLockOwnerRequest\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n" +
|
|
"\bis_moved\x18\x02 \x01(\bR\aisMoved\"-\n" +
|
|
"\x15FindLockOwnerResponse\x12\x14\n" +
|
|
"\x05owner\x18\x01 \x01(\tR\x05owner\"\xc4\x01\n" +
|
|
"\x04Lock\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n" +
|
|
"\vrenew_token\x18\x02 \x01(\tR\n" +
|
|
"renewToken\x12\"\n" +
|
|
"\rexpired_at_ns\x18\x03 \x01(\x03R\vexpiredAtNs\x12\x14\n" +
|
|
"\x05owner\x18\x04 \x01(\tR\x05owner\x12\x1e\n" +
|
|
"\n" +
|
|
"generation\x18\x05 \x01(\x03R\n" +
|
|
"generation\x12\x1b\n" +
|
|
"\tis_backup\x18\x06 \x01(\bR\bisBackup\x12\x10\n" +
|
|
"\x03seq\x18\a \x01(\x03R\x03seq\"<\n" +
|
|
"\x14TransferLocksRequest\x12$\n" +
|
|
"\x05locks\x18\x01 \x03(\v2\x0e.filer_pb.LockR\x05locks\"\x17\n" +
|
|
"\x15TransferLocksResponse\"\xd4\x01\n" +
|
|
"\x14ReplicateLockRequest\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n" +
|
|
"\vrenew_token\x18\x02 \x01(\tR\n" +
|
|
"renewToken\x12\"\n" +
|
|
"\rexpired_at_ns\x18\x03 \x01(\x03R\vexpiredAtNs\x12\x14\n" +
|
|
"\x05owner\x18\x04 \x01(\tR\x05owner\x12\x1e\n" +
|
|
"\n" +
|
|
"generation\x18\x05 \x01(\x03R\n" +
|
|
"generation\x12\x1b\n" +
|
|
"\tis_unlock\x18\x06 \x01(\bR\bisUnlock\x12\x10\n" +
|
|
"\x03seq\x18\a \x01(\x03R\x03seq\"\x17\n" +
|
|
"\x15ReplicateLockResponse\"\xe6\x02\n" +
|
|
"\x18StreamMutateEntryRequest\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\x04R\trequestId\x12E\n" +
|
|
"\x0ecreate_request\x18\x02 \x01(\v2\x1c.filer_pb.CreateEntryRequestH\x00R\rcreateRequest\x12E\n" +
|
|
"\x0eupdate_request\x18\x03 \x01(\v2\x1c.filer_pb.UpdateEntryRequestH\x00R\rupdateRequest\x12E\n" +
|
|
"\x0edelete_request\x18\x04 \x01(\v2\x1c.filer_pb.DeleteEntryRequestH\x00R\rdeleteRequest\x12K\n" +
|
|
"\x0erename_request\x18\x05 \x01(\v2\".filer_pb.StreamRenameEntryRequestH\x00R\rrenameRequestB\t\n" +
|
|
"\arequest\"\xb9\x03\n" +
|
|
"\x19StreamMutateEntryResponse\x12\x1d\n" +
|
|
"\n" +
|
|
"request_id\x18\x01 \x01(\x04R\trequestId\x12\x17\n" +
|
|
"\ais_last\x18\x02 \x01(\bR\x06isLast\x12H\n" +
|
|
"\x0fcreate_response\x18\x03 \x01(\v2\x1d.filer_pb.CreateEntryResponseH\x00R\x0ecreateResponse\x12H\n" +
|
|
"\x0fupdate_response\x18\x04 \x01(\v2\x1d.filer_pb.UpdateEntryResponseH\x00R\x0eupdateResponse\x12H\n" +
|
|
"\x0fdelete_response\x18\x05 \x01(\v2\x1d.filer_pb.DeleteEntryResponseH\x00R\x0edeleteResponse\x12N\n" +
|
|
"\x0frename_response\x18\x06 \x01(\v2#.filer_pb.StreamRenameEntryResponseH\x00R\x0erenameResponse\x12\x14\n" +
|
|
"\x05error\x18\a \x01(\tR\x05error\x12\x14\n" +
|
|
"\x05errno\x18\b \x01(\x05R\x05errnoB\n" +
|
|
"\n" +
|
|
"\bresponse\"\x89\x01\n" +
|
|
"\x14MountRegisterRequest\x12\x1b\n" +
|
|
"\tpeer_addr\x18\x01 \x01(\tR\bpeerAddr\x12\x12\n" +
|
|
"\x04rack\x18\x02 \x01(\tR\x04rack\x12\x1f\n" +
|
|
"\vttl_seconds\x18\x03 \x01(\x05R\n" +
|
|
"ttlSeconds\x12\x1f\n" +
|
|
"\vdata_center\x18\x04 \x01(\tR\n" +
|
|
"dataCenter\"\x17\n" +
|
|
"\x15MountRegisterResponse\"\x12\n" +
|
|
"\x10MountListRequest\"@\n" +
|
|
"\x11MountListResponse\x12+\n" +
|
|
"\x06mounts\x18\x01 \x03(\v2\x13.filer_pb.MountInfoR\x06mounts\"\x7f\n" +
|
|
"\tMountInfo\x12\x1b\n" +
|
|
"\tpeer_addr\x18\x01 \x01(\tR\bpeerAddr\x12\x12\n" +
|
|
"\x04rack\x18\x02 \x01(\tR\x04rack\x12 \n" +
|
|
"\flast_seen_ns\x18\x03 \x01(\x03R\n" +
|
|
"lastSeenNs\x12\x1f\n" +
|
|
"\vdata_center\x18\x04 \x01(\tR\n" +
|
|
"dataCenter*7\n" +
|
|
"\aSSEType\x12\b\n" +
|
|
"\x04NONE\x10\x00\x12\t\n" +
|
|
"\x05SSE_C\x10\x01\x12\v\n" +
|
|
"\aSSE_KMS\x10\x02\x12\n" +
|
|
"\n" +
|
|
"\x06SSE_S3\x10\x03*\xa5\x01\n" +
|
|
"\n" +
|
|
"FilerError\x12\x06\n" +
|
|
"\x02OK\x10\x00\x12\x17\n" +
|
|
"\x13ENTRY_NAME_TOO_LONG\x10\x01\x12\x12\n" +
|
|
"\x0ePARENT_IS_FILE\x10\x02\x12\x19\n" +
|
|
"\x15EXISTING_IS_DIRECTORY\x10\x03\x12\x14\n" +
|
|
"\x10EXISTING_IS_FILE\x10\x04\x12\x18\n" +
|
|
"\x14ENTRY_ALREADY_EXISTS\x10\x05\x12\x17\n" +
|
|
"\x13PRECONDITION_FAILED\x10\x06*u\n" +
|
|
"\vPosixLockOp\x12\f\n" +
|
|
"\bTRY_LOCK\x10\x00\x12\n" +
|
|
"\n" +
|
|
"\x06UNLOCK\x10\x01\x12\n" +
|
|
"\n" +
|
|
"\x06GET_LK\x10\x02\x12\x17\n" +
|
|
"\x13RELEASE_POSIX_OWNER\x10\x03\x12\x17\n" +
|
|
"\x13RELEASE_FLOCK_OWNER\x10\x04\x12\x0e\n" +
|
|
"\n" +
|
|
"KEEP_ALIVE\x10\x052\xae\x17\n" +
|
|
"\fSeaweedFiler\x12g\n" +
|
|
"\x14LookupDirectoryEntry\x12%.filer_pb.LookupDirectoryEntryRequest\x1a&.filer_pb.LookupDirectoryEntryResponse\"\x00\x12N\n" +
|
|
"\vListEntries\x12\x1c.filer_pb.ListEntriesRequest\x1a\x1d.filer_pb.ListEntriesResponse\"\x000\x01\x12L\n" +
|
|
"\vCreateEntry\x12\x1c.filer_pb.CreateEntryRequest\x1a\x1d.filer_pb.CreateEntryResponse\"\x00\x12L\n" +
|
|
"\vUpdateEntry\x12\x1c.filer_pb.UpdateEntryRequest\x1a\x1d.filer_pb.UpdateEntryResponse\"\x00\x12X\n" +
|
|
"\x0fTouchAccessTime\x12 .filer_pb.TouchAccessTimeRequest\x1a!.filer_pb.TouchAccessTimeResponse\"\x00\x12R\n" +
|
|
"\rAppendToEntry\x12\x1e.filer_pb.AppendToEntryRequest\x1a\x1f.filer_pb.AppendToEntryResponse\"\x00\x12L\n" +
|
|
"\vDeleteEntry\x12\x1c.filer_pb.DeleteEntryRequest\x1a\x1d.filer_pb.DeleteEntryResponse\"\x00\x12^\n" +
|
|
"\x11ObjectTransaction\x12\".filer_pb.ObjectTransactionRequest\x1a#.filer_pb.ObjectTransactionResponse\"\x00\x12m\n" +
|
|
"\x16ObjectTransactionBatch\x12'.filer_pb.ObjectTransactionBatchRequest\x1a(.filer_pb.ObjectTransactionBatchResponse\"\x00\x12F\n" +
|
|
"\tPosixLock\x12\x1a.filer_pb.PosixLockRequest\x1a\x1b.filer_pb.PosixLockResponse\"\x00\x12^\n" +
|
|
"\x11AtomicRenameEntry\x12\".filer_pb.AtomicRenameEntryRequest\x1a#.filer_pb.AtomicRenameEntryResponse\"\x00\x12`\n" +
|
|
"\x11StreamRenameEntry\x12\".filer_pb.StreamRenameEntryRequest\x1a#.filer_pb.StreamRenameEntryResponse\"\x000\x01\x12b\n" +
|
|
"\x11StreamMutateEntry\x12\".filer_pb.StreamMutateEntryRequest\x1a#.filer_pb.StreamMutateEntryResponse\"\x00(\x010\x01\x12O\n" +
|
|
"\fAssignVolume\x12\x1d.filer_pb.AssignVolumeRequest\x1a\x1e.filer_pb.AssignVolumeResponse\"\x00\x12O\n" +
|
|
"\fLookupVolume\x12\x1d.filer_pb.LookupVolumeRequest\x1a\x1e.filer_pb.LookupVolumeResponse\"\x00\x12U\n" +
|
|
"\x0eCollectionList\x12\x1f.filer_pb.CollectionListRequest\x1a .filer_pb.CollectionListResponse\"\x00\x12[\n" +
|
|
"\x10DeleteCollection\x12!.filer_pb.DeleteCollectionRequest\x1a\".filer_pb.DeleteCollectionResponse\"\x00\x12I\n" +
|
|
"\n" +
|
|
"Statistics\x12\x1b.filer_pb.StatisticsRequest\x1a\x1c.filer_pb.StatisticsResponse\"\x00\x127\n" +
|
|
"\x04Ping\x12\x15.filer_pb.PingRequest\x1a\x16.filer_pb.PingResponse\"\x00\x12j\n" +
|
|
"\x15GetFilerConfiguration\x12&.filer_pb.GetFilerConfigurationRequest\x1a'.filer_pb.GetFilerConfigurationResponse\"\x00\x12f\n" +
|
|
"\x13TraverseBfsMetadata\x12$.filer_pb.TraverseBfsMetadataRequest\x1a%.filer_pb.TraverseBfsMetadataResponse\"\x000\x01\x12`\n" +
|
|
"\x11SubscribeMetadata\x12\".filer_pb.SubscribeMetadataRequest\x1a#.filer_pb.SubscribeMetadataResponse\"\x000\x01\x12e\n" +
|
|
"\x16SubscribeLocalMetadata\x12\".filer_pb.SubscribeMetadataRequest\x1a#.filer_pb.SubscribeMetadataResponse\"\x000\x01\x12p\n" +
|
|
"\x17ListMetadataSubscribers\x12(.filer_pb.ListMetadataSubscribersRequest\x1a).filer_pb.ListMetadataSubscribersResponse\"\x00\x12:\n" +
|
|
"\x05KvGet\x12\x16.filer_pb.KvGetRequest\x1a\x17.filer_pb.KvGetResponse\"\x00\x12:\n" +
|
|
"\x05KvPut\x12\x16.filer_pb.KvPutRequest\x1a\x17.filer_pb.KvPutResponse\"\x00\x12\x88\x01\n" +
|
|
"\x1fCacheRemoteObjectToLocalCluster\x120.filer_pb.CacheRemoteObjectToLocalClusterRequest\x1a1.filer_pb.CacheRemoteObjectToLocalClusterResponse\"\x00\x12B\n" +
|
|
"\x0fDistributedLock\x12\x15.filer_pb.LockRequest\x1a\x16.filer_pb.LockResponse\"\x00\x12H\n" +
|
|
"\x11DistributedUnlock\x12\x17.filer_pb.UnlockRequest\x1a\x18.filer_pb.UnlockResponse\"\x00\x12R\n" +
|
|
"\rFindLockOwner\x12\x1e.filer_pb.FindLockOwnerRequest\x1a\x1f.filer_pb.FindLockOwnerResponse\"\x00\x12R\n" +
|
|
"\rTransferLocks\x12\x1e.filer_pb.TransferLocksRequest\x1a\x1f.filer_pb.TransferLocksResponse\"\x00\x12R\n" +
|
|
"\rReplicateLock\x12\x1e.filer_pb.ReplicateLockRequest\x1a\x1f.filer_pb.ReplicateLockResponse\"\x00\x12R\n" +
|
|
"\rMountRegister\x12\x1e.filer_pb.MountRegisterRequest\x1a\x1f.filer_pb.MountRegisterResponse\"\x00\x12F\n" +
|
|
"\tMountList\x12\x1a.filer_pb.MountListRequest\x1a\x1b.filer_pb.MountListResponse\"\x00BO\n" +
|
|
"\x10seaweedfs.clientB\n" +
|
|
"FilerProtoZ/github.com/seaweedfs/seaweedfs/weed/pb/filer_pbb\x06proto3"
|
|
|
|
var (
|
|
file_filer_proto_rawDescOnce sync.Once
|
|
file_filer_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_filer_proto_rawDescGZIP() []byte {
|
|
file_filer_proto_rawDescOnce.Do(func() {
|
|
file_filer_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_filer_proto_rawDesc), len(file_filer_proto_rawDesc)))
|
|
})
|
|
return file_filer_proto_rawDescData
|
|
}
|
|
|
|
var file_filer_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
|
|
var file_filer_proto_msgTypes = make([]protoimpl.MessageInfo, 99)
|
|
var file_filer_proto_goTypes = []any{
|
|
(SSEType)(0), // 0: filer_pb.SSEType
|
|
(FilerError)(0), // 1: filer_pb.FilerError
|
|
(PosixLockOp)(0), // 2: filer_pb.PosixLockOp
|
|
(WriteCondition_Kind)(0), // 3: filer_pb.WriteCondition.Kind
|
|
(ObjectMutation_Type)(0), // 4: filer_pb.ObjectMutation.Type
|
|
(*LookupDirectoryEntryRequest)(nil), // 5: filer_pb.LookupDirectoryEntryRequest
|
|
(*LookupDirectoryEntryResponse)(nil), // 6: filer_pb.LookupDirectoryEntryResponse
|
|
(*ListEntriesRequest)(nil), // 7: filer_pb.ListEntriesRequest
|
|
(*ListEntriesResponse)(nil), // 8: filer_pb.ListEntriesResponse
|
|
(*RemoteEntry)(nil), // 9: filer_pb.RemoteEntry
|
|
(*Entry)(nil), // 10: filer_pb.Entry
|
|
(*FullEntry)(nil), // 11: filer_pb.FullEntry
|
|
(*EventNotification)(nil), // 12: filer_pb.EventNotification
|
|
(*FileChunk)(nil), // 13: filer_pb.FileChunk
|
|
(*FileChunkManifest)(nil), // 14: filer_pb.FileChunkManifest
|
|
(*FileId)(nil), // 15: filer_pb.FileId
|
|
(*FuseAttributes)(nil), // 16: filer_pb.FuseAttributes
|
|
(*CreateEntryRequest)(nil), // 17: filer_pb.CreateEntryRequest
|
|
(*WriteCondition)(nil), // 18: filer_pb.WriteCondition
|
|
(*ObjectMutation)(nil), // 19: filer_pb.ObjectMutation
|
|
(*Recompute)(nil), // 20: filer_pb.Recompute
|
|
(*ObjectTransactionRequest)(nil), // 21: filer_pb.ObjectTransactionRequest
|
|
(*ObjectTransactionResponse)(nil), // 22: filer_pb.ObjectTransactionResponse
|
|
(*PosixLockRange)(nil), // 23: filer_pb.PosixLockRange
|
|
(*PosixLockRequest)(nil), // 24: filer_pb.PosixLockRequest
|
|
(*PosixLockResponse)(nil), // 25: filer_pb.PosixLockResponse
|
|
(*ObjectTransactionBatchRequest)(nil), // 26: filer_pb.ObjectTransactionBatchRequest
|
|
(*ObjectTransactionBatchResponse)(nil), // 27: filer_pb.ObjectTransactionBatchResponse
|
|
(*CreateEntryResponse)(nil), // 28: filer_pb.CreateEntryResponse
|
|
(*UpdateEntryRequest)(nil), // 29: filer_pb.UpdateEntryRequest
|
|
(*UpdateEntryResponse)(nil), // 30: filer_pb.UpdateEntryResponse
|
|
(*TouchAccessTimeRequest)(nil), // 31: filer_pb.TouchAccessTimeRequest
|
|
(*TouchAccessTimeResponse)(nil), // 32: filer_pb.TouchAccessTimeResponse
|
|
(*AppendToEntryRequest)(nil), // 33: filer_pb.AppendToEntryRequest
|
|
(*AppendToEntryResponse)(nil), // 34: filer_pb.AppendToEntryResponse
|
|
(*DeleteEntryRequest)(nil), // 35: filer_pb.DeleteEntryRequest
|
|
(*DeleteEntryResponse)(nil), // 36: filer_pb.DeleteEntryResponse
|
|
(*AtomicRenameEntryRequest)(nil), // 37: filer_pb.AtomicRenameEntryRequest
|
|
(*AtomicRenameEntryResponse)(nil), // 38: filer_pb.AtomicRenameEntryResponse
|
|
(*StreamRenameEntryRequest)(nil), // 39: filer_pb.StreamRenameEntryRequest
|
|
(*StreamRenameEntryResponse)(nil), // 40: filer_pb.StreamRenameEntryResponse
|
|
(*AssignVolumeRequest)(nil), // 41: filer_pb.AssignVolumeRequest
|
|
(*AssignVolumeResponse)(nil), // 42: filer_pb.AssignVolumeResponse
|
|
(*LookupVolumeRequest)(nil), // 43: filer_pb.LookupVolumeRequest
|
|
(*Locations)(nil), // 44: filer_pb.Locations
|
|
(*Location)(nil), // 45: filer_pb.Location
|
|
(*LookupVolumeResponse)(nil), // 46: filer_pb.LookupVolumeResponse
|
|
(*Collection)(nil), // 47: filer_pb.Collection
|
|
(*CollectionListRequest)(nil), // 48: filer_pb.CollectionListRequest
|
|
(*CollectionListResponse)(nil), // 49: filer_pb.CollectionListResponse
|
|
(*DeleteCollectionRequest)(nil), // 50: filer_pb.DeleteCollectionRequest
|
|
(*DeleteCollectionResponse)(nil), // 51: filer_pb.DeleteCollectionResponse
|
|
(*StatisticsRequest)(nil), // 52: filer_pb.StatisticsRequest
|
|
(*StatisticsResponse)(nil), // 53: filer_pb.StatisticsResponse
|
|
(*PingRequest)(nil), // 54: filer_pb.PingRequest
|
|
(*PingResponse)(nil), // 55: filer_pb.PingResponse
|
|
(*GetFilerConfigurationRequest)(nil), // 56: filer_pb.GetFilerConfigurationRequest
|
|
(*GetFilerConfigurationResponse)(nil), // 57: filer_pb.GetFilerConfigurationResponse
|
|
(*SubscribeMetadataRequest)(nil), // 58: filer_pb.SubscribeMetadataRequest
|
|
(*SubscribeMetadataResponse)(nil), // 59: filer_pb.SubscribeMetadataResponse
|
|
(*ListMetadataSubscribersRequest)(nil), // 60: filer_pb.ListMetadataSubscribersRequest
|
|
(*ListMetadataSubscribersResponse)(nil), // 61: filer_pb.ListMetadataSubscribersResponse
|
|
(*MetadataSubscriber)(nil), // 62: filer_pb.MetadataSubscriber
|
|
(*LogFileChunkRef)(nil), // 63: filer_pb.LogFileChunkRef
|
|
(*TraverseBfsMetadataRequest)(nil), // 64: filer_pb.TraverseBfsMetadataRequest
|
|
(*TraverseBfsMetadataResponse)(nil), // 65: filer_pb.TraverseBfsMetadataResponse
|
|
(*LogEntry)(nil), // 66: filer_pb.LogEntry
|
|
(*KeepConnectedRequest)(nil), // 67: filer_pb.KeepConnectedRequest
|
|
(*KeepConnectedResponse)(nil), // 68: filer_pb.KeepConnectedResponse
|
|
(*LocateBrokerRequest)(nil), // 69: filer_pb.LocateBrokerRequest
|
|
(*LocateBrokerResponse)(nil), // 70: filer_pb.LocateBrokerResponse
|
|
(*KvGetRequest)(nil), // 71: filer_pb.KvGetRequest
|
|
(*KvGetResponse)(nil), // 72: filer_pb.KvGetResponse
|
|
(*KvPutRequest)(nil), // 73: filer_pb.KvPutRequest
|
|
(*KvPutResponse)(nil), // 74: filer_pb.KvPutResponse
|
|
(*FilerConf)(nil), // 75: filer_pb.FilerConf
|
|
(*CacheRemoteObjectToLocalClusterRequest)(nil), // 76: filer_pb.CacheRemoteObjectToLocalClusterRequest
|
|
(*CacheRemoteObjectToLocalClusterResponse)(nil), // 77: filer_pb.CacheRemoteObjectToLocalClusterResponse
|
|
(*LockRequest)(nil), // 78: filer_pb.LockRequest
|
|
(*LockResponse)(nil), // 79: filer_pb.LockResponse
|
|
(*UnlockRequest)(nil), // 80: filer_pb.UnlockRequest
|
|
(*UnlockResponse)(nil), // 81: filer_pb.UnlockResponse
|
|
(*FindLockOwnerRequest)(nil), // 82: filer_pb.FindLockOwnerRequest
|
|
(*FindLockOwnerResponse)(nil), // 83: filer_pb.FindLockOwnerResponse
|
|
(*Lock)(nil), // 84: filer_pb.Lock
|
|
(*TransferLocksRequest)(nil), // 85: filer_pb.TransferLocksRequest
|
|
(*TransferLocksResponse)(nil), // 86: filer_pb.TransferLocksResponse
|
|
(*ReplicateLockRequest)(nil), // 87: filer_pb.ReplicateLockRequest
|
|
(*ReplicateLockResponse)(nil), // 88: filer_pb.ReplicateLockResponse
|
|
(*StreamMutateEntryRequest)(nil), // 89: filer_pb.StreamMutateEntryRequest
|
|
(*StreamMutateEntryResponse)(nil), // 90: filer_pb.StreamMutateEntryResponse
|
|
(*MountRegisterRequest)(nil), // 91: filer_pb.MountRegisterRequest
|
|
(*MountRegisterResponse)(nil), // 92: filer_pb.MountRegisterResponse
|
|
(*MountListRequest)(nil), // 93: filer_pb.MountListRequest
|
|
(*MountListResponse)(nil), // 94: filer_pb.MountListResponse
|
|
(*MountInfo)(nil), // 95: filer_pb.MountInfo
|
|
nil, // 96: filer_pb.Entry.ExtendedEntry
|
|
(*WriteCondition_Clause)(nil), // 97: filer_pb.WriteCondition.Clause
|
|
nil, // 98: filer_pb.ObjectMutation.SetExtendedEntry
|
|
nil, // 99: filer_pb.Recompute.CopyExtendedEntry
|
|
nil, // 100: filer_pb.UpdateEntryRequest.ExpectedExtendedEntry
|
|
nil, // 101: filer_pb.LookupVolumeResponse.LocationsMapEntry
|
|
(*LocateBrokerResponse_Resource)(nil), // 102: filer_pb.LocateBrokerResponse.Resource
|
|
(*FilerConf_PathConf)(nil), // 103: filer_pb.FilerConf.PathConf
|
|
}
|
|
var file_filer_proto_depIdxs = []int32{
|
|
10, // 0: filer_pb.LookupDirectoryEntryResponse.entry:type_name -> filer_pb.Entry
|
|
10, // 1: filer_pb.ListEntriesResponse.entry:type_name -> filer_pb.Entry
|
|
13, // 2: filer_pb.Entry.chunks:type_name -> filer_pb.FileChunk
|
|
16, // 3: filer_pb.Entry.attributes:type_name -> filer_pb.FuseAttributes
|
|
96, // 4: filer_pb.Entry.extended:type_name -> filer_pb.Entry.ExtendedEntry
|
|
9, // 5: filer_pb.Entry.remote_entry:type_name -> filer_pb.RemoteEntry
|
|
10, // 6: filer_pb.FullEntry.entry:type_name -> filer_pb.Entry
|
|
10, // 7: filer_pb.EventNotification.old_entry:type_name -> filer_pb.Entry
|
|
10, // 8: filer_pb.EventNotification.new_entry:type_name -> filer_pb.Entry
|
|
15, // 9: filer_pb.FileChunk.fid:type_name -> filer_pb.FileId
|
|
15, // 10: filer_pb.FileChunk.source_fid:type_name -> filer_pb.FileId
|
|
0, // 11: filer_pb.FileChunk.sse_type:type_name -> filer_pb.SSEType
|
|
13, // 12: filer_pb.FileChunkManifest.chunks:type_name -> filer_pb.FileChunk
|
|
10, // 13: filer_pb.CreateEntryRequest.entry:type_name -> filer_pb.Entry
|
|
18, // 14: filer_pb.CreateEntryRequest.condition:type_name -> filer_pb.WriteCondition
|
|
97, // 15: filer_pb.WriteCondition.clauses:type_name -> filer_pb.WriteCondition.Clause
|
|
4, // 16: filer_pb.ObjectMutation.type:type_name -> filer_pb.ObjectMutation.Type
|
|
10, // 17: filer_pb.ObjectMutation.entry:type_name -> filer_pb.Entry
|
|
98, // 18: filer_pb.ObjectMutation.set_extended:type_name -> filer_pb.ObjectMutation.SetExtendedEntry
|
|
20, // 19: filer_pb.ObjectMutation.recompute:type_name -> filer_pb.Recompute
|
|
99, // 20: filer_pb.Recompute.copy_extended:type_name -> filer_pb.Recompute.CopyExtendedEntry
|
|
18, // 21: filer_pb.ObjectTransactionRequest.condition:type_name -> filer_pb.WriteCondition
|
|
19, // 22: filer_pb.ObjectTransactionRequest.mutations:type_name -> filer_pb.ObjectMutation
|
|
1, // 23: filer_pb.ObjectTransactionResponse.error_code:type_name -> filer_pb.FilerError
|
|
2, // 24: filer_pb.PosixLockRequest.op:type_name -> filer_pb.PosixLockOp
|
|
23, // 25: filer_pb.PosixLockRequest.lock:type_name -> filer_pb.PosixLockRange
|
|
23, // 26: filer_pb.PosixLockRequest.locks:type_name -> filer_pb.PosixLockRange
|
|
23, // 27: filer_pb.PosixLockResponse.conflict:type_name -> filer_pb.PosixLockRange
|
|
21, // 28: filer_pb.ObjectTransactionBatchRequest.transactions:type_name -> filer_pb.ObjectTransactionRequest
|
|
22, // 29: filer_pb.ObjectTransactionBatchResponse.responses:type_name -> filer_pb.ObjectTransactionResponse
|
|
59, // 30: filer_pb.CreateEntryResponse.metadata_event:type_name -> filer_pb.SubscribeMetadataResponse
|
|
1, // 31: filer_pb.CreateEntryResponse.error_code:type_name -> filer_pb.FilerError
|
|
10, // 32: filer_pb.UpdateEntryRequest.entry:type_name -> filer_pb.Entry
|
|
100, // 33: filer_pb.UpdateEntryRequest.expected_extended:type_name -> filer_pb.UpdateEntryRequest.ExpectedExtendedEntry
|
|
18, // 34: filer_pb.UpdateEntryRequest.condition:type_name -> filer_pb.WriteCondition
|
|
59, // 35: filer_pb.UpdateEntryResponse.metadata_event:type_name -> filer_pb.SubscribeMetadataResponse
|
|
13, // 36: filer_pb.AppendToEntryRequest.chunks:type_name -> filer_pb.FileChunk
|
|
59, // 37: filer_pb.DeleteEntryResponse.metadata_event:type_name -> filer_pb.SubscribeMetadataResponse
|
|
12, // 38: filer_pb.StreamRenameEntryResponse.event_notification:type_name -> filer_pb.EventNotification
|
|
45, // 39: filer_pb.AssignVolumeResponse.location:type_name -> filer_pb.Location
|
|
45, // 40: filer_pb.AssignVolumeResponse.replicas:type_name -> filer_pb.Location
|
|
45, // 41: filer_pb.Locations.locations:type_name -> filer_pb.Location
|
|
101, // 42: filer_pb.LookupVolumeResponse.locations_map:type_name -> filer_pb.LookupVolumeResponse.LocationsMapEntry
|
|
47, // 43: filer_pb.CollectionListResponse.collections:type_name -> filer_pb.Collection
|
|
12, // 44: filer_pb.SubscribeMetadataResponse.event_notification:type_name -> filer_pb.EventNotification
|
|
59, // 45: filer_pb.SubscribeMetadataResponse.events:type_name -> filer_pb.SubscribeMetadataResponse
|
|
63, // 46: filer_pb.SubscribeMetadataResponse.log_file_refs:type_name -> filer_pb.LogFileChunkRef
|
|
62, // 47: filer_pb.ListMetadataSubscribersResponse.subscribers:type_name -> filer_pb.MetadataSubscriber
|
|
13, // 48: filer_pb.LogFileChunkRef.chunks:type_name -> filer_pb.FileChunk
|
|
10, // 49: filer_pb.TraverseBfsMetadataResponse.entry:type_name -> filer_pb.Entry
|
|
102, // 50: filer_pb.LocateBrokerResponse.resources:type_name -> filer_pb.LocateBrokerResponse.Resource
|
|
103, // 51: filer_pb.FilerConf.locations:type_name -> filer_pb.FilerConf.PathConf
|
|
10, // 52: filer_pb.CacheRemoteObjectToLocalClusterResponse.entry:type_name -> filer_pb.Entry
|
|
59, // 53: filer_pb.CacheRemoteObjectToLocalClusterResponse.metadata_event:type_name -> filer_pb.SubscribeMetadataResponse
|
|
84, // 54: filer_pb.TransferLocksRequest.locks:type_name -> filer_pb.Lock
|
|
17, // 55: filer_pb.StreamMutateEntryRequest.create_request:type_name -> filer_pb.CreateEntryRequest
|
|
29, // 56: filer_pb.StreamMutateEntryRequest.update_request:type_name -> filer_pb.UpdateEntryRequest
|
|
35, // 57: filer_pb.StreamMutateEntryRequest.delete_request:type_name -> filer_pb.DeleteEntryRequest
|
|
39, // 58: filer_pb.StreamMutateEntryRequest.rename_request:type_name -> filer_pb.StreamRenameEntryRequest
|
|
28, // 59: filer_pb.StreamMutateEntryResponse.create_response:type_name -> filer_pb.CreateEntryResponse
|
|
30, // 60: filer_pb.StreamMutateEntryResponse.update_response:type_name -> filer_pb.UpdateEntryResponse
|
|
36, // 61: filer_pb.StreamMutateEntryResponse.delete_response:type_name -> filer_pb.DeleteEntryResponse
|
|
40, // 62: filer_pb.StreamMutateEntryResponse.rename_response:type_name -> filer_pb.StreamRenameEntryResponse
|
|
95, // 63: filer_pb.MountListResponse.mounts:type_name -> filer_pb.MountInfo
|
|
3, // 64: filer_pb.WriteCondition.Clause.kind:type_name -> filer_pb.WriteCondition.Kind
|
|
44, // 65: filer_pb.LookupVolumeResponse.LocationsMapEntry.value:type_name -> filer_pb.Locations
|
|
5, // 66: filer_pb.SeaweedFiler.LookupDirectoryEntry:input_type -> filer_pb.LookupDirectoryEntryRequest
|
|
7, // 67: filer_pb.SeaweedFiler.ListEntries:input_type -> filer_pb.ListEntriesRequest
|
|
17, // 68: filer_pb.SeaweedFiler.CreateEntry:input_type -> filer_pb.CreateEntryRequest
|
|
29, // 69: filer_pb.SeaweedFiler.UpdateEntry:input_type -> filer_pb.UpdateEntryRequest
|
|
31, // 70: filer_pb.SeaweedFiler.TouchAccessTime:input_type -> filer_pb.TouchAccessTimeRequest
|
|
33, // 71: filer_pb.SeaweedFiler.AppendToEntry:input_type -> filer_pb.AppendToEntryRequest
|
|
35, // 72: filer_pb.SeaweedFiler.DeleteEntry:input_type -> filer_pb.DeleteEntryRequest
|
|
21, // 73: filer_pb.SeaweedFiler.ObjectTransaction:input_type -> filer_pb.ObjectTransactionRequest
|
|
26, // 74: filer_pb.SeaweedFiler.ObjectTransactionBatch:input_type -> filer_pb.ObjectTransactionBatchRequest
|
|
24, // 75: filer_pb.SeaweedFiler.PosixLock:input_type -> filer_pb.PosixLockRequest
|
|
37, // 76: filer_pb.SeaweedFiler.AtomicRenameEntry:input_type -> filer_pb.AtomicRenameEntryRequest
|
|
39, // 77: filer_pb.SeaweedFiler.StreamRenameEntry:input_type -> filer_pb.StreamRenameEntryRequest
|
|
89, // 78: filer_pb.SeaweedFiler.StreamMutateEntry:input_type -> filer_pb.StreamMutateEntryRequest
|
|
41, // 79: filer_pb.SeaweedFiler.AssignVolume:input_type -> filer_pb.AssignVolumeRequest
|
|
43, // 80: filer_pb.SeaweedFiler.LookupVolume:input_type -> filer_pb.LookupVolumeRequest
|
|
48, // 81: filer_pb.SeaweedFiler.CollectionList:input_type -> filer_pb.CollectionListRequest
|
|
50, // 82: filer_pb.SeaweedFiler.DeleteCollection:input_type -> filer_pb.DeleteCollectionRequest
|
|
52, // 83: filer_pb.SeaweedFiler.Statistics:input_type -> filer_pb.StatisticsRequest
|
|
54, // 84: filer_pb.SeaweedFiler.Ping:input_type -> filer_pb.PingRequest
|
|
56, // 85: filer_pb.SeaweedFiler.GetFilerConfiguration:input_type -> filer_pb.GetFilerConfigurationRequest
|
|
64, // 86: filer_pb.SeaweedFiler.TraverseBfsMetadata:input_type -> filer_pb.TraverseBfsMetadataRequest
|
|
58, // 87: filer_pb.SeaweedFiler.SubscribeMetadata:input_type -> filer_pb.SubscribeMetadataRequest
|
|
58, // 88: filer_pb.SeaweedFiler.SubscribeLocalMetadata:input_type -> filer_pb.SubscribeMetadataRequest
|
|
60, // 89: filer_pb.SeaweedFiler.ListMetadataSubscribers:input_type -> filer_pb.ListMetadataSubscribersRequest
|
|
71, // 90: filer_pb.SeaweedFiler.KvGet:input_type -> filer_pb.KvGetRequest
|
|
73, // 91: filer_pb.SeaweedFiler.KvPut:input_type -> filer_pb.KvPutRequest
|
|
76, // 92: filer_pb.SeaweedFiler.CacheRemoteObjectToLocalCluster:input_type -> filer_pb.CacheRemoteObjectToLocalClusterRequest
|
|
78, // 93: filer_pb.SeaweedFiler.DistributedLock:input_type -> filer_pb.LockRequest
|
|
80, // 94: filer_pb.SeaweedFiler.DistributedUnlock:input_type -> filer_pb.UnlockRequest
|
|
82, // 95: filer_pb.SeaweedFiler.FindLockOwner:input_type -> filer_pb.FindLockOwnerRequest
|
|
85, // 96: filer_pb.SeaweedFiler.TransferLocks:input_type -> filer_pb.TransferLocksRequest
|
|
87, // 97: filer_pb.SeaweedFiler.ReplicateLock:input_type -> filer_pb.ReplicateLockRequest
|
|
91, // 98: filer_pb.SeaweedFiler.MountRegister:input_type -> filer_pb.MountRegisterRequest
|
|
93, // 99: filer_pb.SeaweedFiler.MountList:input_type -> filer_pb.MountListRequest
|
|
6, // 100: filer_pb.SeaweedFiler.LookupDirectoryEntry:output_type -> filer_pb.LookupDirectoryEntryResponse
|
|
8, // 101: filer_pb.SeaweedFiler.ListEntries:output_type -> filer_pb.ListEntriesResponse
|
|
28, // 102: filer_pb.SeaweedFiler.CreateEntry:output_type -> filer_pb.CreateEntryResponse
|
|
30, // 103: filer_pb.SeaweedFiler.UpdateEntry:output_type -> filer_pb.UpdateEntryResponse
|
|
32, // 104: filer_pb.SeaweedFiler.TouchAccessTime:output_type -> filer_pb.TouchAccessTimeResponse
|
|
34, // 105: filer_pb.SeaweedFiler.AppendToEntry:output_type -> filer_pb.AppendToEntryResponse
|
|
36, // 106: filer_pb.SeaweedFiler.DeleteEntry:output_type -> filer_pb.DeleteEntryResponse
|
|
22, // 107: filer_pb.SeaweedFiler.ObjectTransaction:output_type -> filer_pb.ObjectTransactionResponse
|
|
27, // 108: filer_pb.SeaweedFiler.ObjectTransactionBatch:output_type -> filer_pb.ObjectTransactionBatchResponse
|
|
25, // 109: filer_pb.SeaweedFiler.PosixLock:output_type -> filer_pb.PosixLockResponse
|
|
38, // 110: filer_pb.SeaweedFiler.AtomicRenameEntry:output_type -> filer_pb.AtomicRenameEntryResponse
|
|
40, // 111: filer_pb.SeaweedFiler.StreamRenameEntry:output_type -> filer_pb.StreamRenameEntryResponse
|
|
90, // 112: filer_pb.SeaweedFiler.StreamMutateEntry:output_type -> filer_pb.StreamMutateEntryResponse
|
|
42, // 113: filer_pb.SeaweedFiler.AssignVolume:output_type -> filer_pb.AssignVolumeResponse
|
|
46, // 114: filer_pb.SeaweedFiler.LookupVolume:output_type -> filer_pb.LookupVolumeResponse
|
|
49, // 115: filer_pb.SeaweedFiler.CollectionList:output_type -> filer_pb.CollectionListResponse
|
|
51, // 116: filer_pb.SeaweedFiler.DeleteCollection:output_type -> filer_pb.DeleteCollectionResponse
|
|
53, // 117: filer_pb.SeaweedFiler.Statistics:output_type -> filer_pb.StatisticsResponse
|
|
55, // 118: filer_pb.SeaweedFiler.Ping:output_type -> filer_pb.PingResponse
|
|
57, // 119: filer_pb.SeaweedFiler.GetFilerConfiguration:output_type -> filer_pb.GetFilerConfigurationResponse
|
|
65, // 120: filer_pb.SeaweedFiler.TraverseBfsMetadata:output_type -> filer_pb.TraverseBfsMetadataResponse
|
|
59, // 121: filer_pb.SeaweedFiler.SubscribeMetadata:output_type -> filer_pb.SubscribeMetadataResponse
|
|
59, // 122: filer_pb.SeaweedFiler.SubscribeLocalMetadata:output_type -> filer_pb.SubscribeMetadataResponse
|
|
61, // 123: filer_pb.SeaweedFiler.ListMetadataSubscribers:output_type -> filer_pb.ListMetadataSubscribersResponse
|
|
72, // 124: filer_pb.SeaweedFiler.KvGet:output_type -> filer_pb.KvGetResponse
|
|
74, // 125: filer_pb.SeaweedFiler.KvPut:output_type -> filer_pb.KvPutResponse
|
|
77, // 126: filer_pb.SeaweedFiler.CacheRemoteObjectToLocalCluster:output_type -> filer_pb.CacheRemoteObjectToLocalClusterResponse
|
|
79, // 127: filer_pb.SeaweedFiler.DistributedLock:output_type -> filer_pb.LockResponse
|
|
81, // 128: filer_pb.SeaweedFiler.DistributedUnlock:output_type -> filer_pb.UnlockResponse
|
|
83, // 129: filer_pb.SeaweedFiler.FindLockOwner:output_type -> filer_pb.FindLockOwnerResponse
|
|
86, // 130: filer_pb.SeaweedFiler.TransferLocks:output_type -> filer_pb.TransferLocksResponse
|
|
88, // 131: filer_pb.SeaweedFiler.ReplicateLock:output_type -> filer_pb.ReplicateLockResponse
|
|
92, // 132: filer_pb.SeaweedFiler.MountRegister:output_type -> filer_pb.MountRegisterResponse
|
|
94, // 133: filer_pb.SeaweedFiler.MountList:output_type -> filer_pb.MountListResponse
|
|
100, // [100:134] is the sub-list for method output_type
|
|
66, // [66:100] is the sub-list for method input_type
|
|
66, // [66:66] is the sub-list for extension type_name
|
|
66, // [66:66] is the sub-list for extension extendee
|
|
0, // [0:66] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_filer_proto_init() }
|
|
func file_filer_proto_init() {
|
|
if File_filer_proto != nil {
|
|
return
|
|
}
|
|
file_filer_proto_msgTypes[4].OneofWrappers = []any{}
|
|
file_filer_proto_msgTypes[84].OneofWrappers = []any{
|
|
(*StreamMutateEntryRequest_CreateRequest)(nil),
|
|
(*StreamMutateEntryRequest_UpdateRequest)(nil),
|
|
(*StreamMutateEntryRequest_DeleteRequest)(nil),
|
|
(*StreamMutateEntryRequest_RenameRequest)(nil),
|
|
}
|
|
file_filer_proto_msgTypes[85].OneofWrappers = []any{
|
|
(*StreamMutateEntryResponse_CreateResponse)(nil),
|
|
(*StreamMutateEntryResponse_UpdateResponse)(nil),
|
|
(*StreamMutateEntryResponse_DeleteResponse)(nil),
|
|
(*StreamMutateEntryResponse_RenameResponse)(nil),
|
|
}
|
|
file_filer_proto_msgTypes[98].OneofWrappers = []any{}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_filer_proto_rawDesc), len(file_filer_proto_rawDesc)),
|
|
NumEnums: 5,
|
|
NumMessages: 99,
|
|
NumExtensions: 0,
|
|
NumServices: 1,
|
|
},
|
|
GoTypes: file_filer_proto_goTypes,
|
|
DependencyIndexes: file_filer_proto_depIdxs,
|
|
EnumInfos: file_filer_proto_enumTypes,
|
|
MessageInfos: file_filer_proto_msgTypes,
|
|
}.Build()
|
|
File_filer_proto = out.File
|
|
file_filer_proto_goTypes = nil
|
|
file_filer_proto_depIdxs = nil
|
|
}
|