diff --git a/Gopkg.lock b/Gopkg.lock index 0713a08..4868440 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -50,12 +50,12 @@ revision = "eb3733d160e74a9c7e442f435eb3bea458e1d19f" [[projects]] - digest = "1:bcb38c8fc9b21bb8682ce2d605a7d4aeb618abc7f827e3ac0b27c0371fdb23fb" + digest = "1:3dd078fda7500c341bc26cfbc6c6a34614f295a2457149fc1045cab767cbcf18" name = "github.com/golang/protobuf" packages = ["proto"] pruneopts = "" - revision = "925541529c1fa6821df4e44ce2723319eb2be768" - version = "v1.0.0" + revision = "aa810b61a9c79d51363740d207bb46cf8e620ed5" + version = "v1.2.0" [[projects]] branch = "master" diff --git a/Gopkg.toml b/Gopkg.toml index ae6f5d8..81becc1 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -59,3 +59,7 @@ ignored = [ "github.com/inconshreveable/mousetrap" ] [[constraint]] name = "github.com/problame/go-streamrpc" version = "0.1.0" + +[[constraint]] + name = "github.com/golang/protobuf" + version = "1.2.0" diff --git a/Makefile b/Makefile index 619df9c..fd22ce1 100644 --- a/Makefile +++ b/Makefile @@ -3,11 +3,11 @@ ROOT := github.com/zrepl/zrepl SUBPKGS := cmd -SUBPKGS += cmd/replication -SUBPKGS += cmd/replication/fsrep -SUBPKGS += cmd/replication/pdu -SUBPKGS += cmd/replication/internal/queue -SUBPKGS += cmd/replication/internal/diff +SUBPKGS += replication +SUBPKGS += replication/fsrep +SUBPKGS += replication/pdu +SUBPKGS += replication/internal/queue +SUBPKGS += replication/internal/diff SUBPKGS += logger util zfs _TESTPKGS := $(ROOT) $(foreach p,$(SUBPKGS),$(ROOT)/$(p)) @@ -32,12 +32,10 @@ vendordeps: dep ensure -v -vendor-only generate: #not part of the build, must do that manually - protoc -I=cmd/replication/pdu --go_out=cmd/replication/pdu cmd/replication/pdu/pdu.proto + protoc -I=replication/pdu --go_out=replication/pdu replication/pdu/pdu.proto @for pkg in $(_TESTPKGS); do\ go generate "$$pkg" || exit 1; \ done; - # FIXME fix docker build! - build: @echo "INFO: In case of missing dependencies, run 'make vendordeps'" diff --git a/build.Dockerfile b/build.Dockerfile index 47cec34..d7729e5 100644 --- a/build.Dockerfile +++ b/build.Dockerfile @@ -1,7 +1,12 @@ FROM golang:latest RUN apt-get update && apt-get install -y \ - python3-pip + python3-pip \ + unzip + +RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip +RUN echo "6003de742ea3fcf703cfec1cd4a3380fd143081a2eb0e559065563496af27807 protoc-3.6.1-linux-x86_64.zip" | sha256sum -c +RUN unzip -d /usr protoc-3.6.1-linux-x86_64.zip ADD lazy.sh /tmp/lazy.sh ADD docs/requirements.txt /tmp/requirements.txt diff --git a/lazy.sh b/lazy.sh index 8d785cb..a8c7316 100755 --- a/lazy.sh +++ b/lazy.sh @@ -29,7 +29,8 @@ builddep() { step "Install build depdencies using 'go get' to \$GOPATH/bin" go get -u golang.org/x/tools/cmd/stringer go get -u github.com/golang/dep/cmd/dep - if ! type stringer || ! type dep; then + go get -u github.com/golang/protobuf/protoc-gen-go + if ! type stringer || ! type dep || ! type protoc-gen-go; then echo "Installed dependencies but can't find them in \$PATH, adjust it to contain \$GOPATH/bin" 1>&2 exit 1 fi diff --git a/replication/pdu/pdu.pb.go b/replication/pdu/pdu.pb.go index d9bed35..a770a17 100644 --- a/replication/pdu/pdu.pb.go +++ b/replication/pdu/pdu.pb.go @@ -1,25 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // source: pdu.proto -/* -Package pdu is a generated protocol buffer package. - -It is generated from these files: - pdu.proto - -It has these top-level messages: - ListFilesystemReq - ListFilesystemRes - Filesystem - ListFilesystemVersionsReq - ListFilesystemVersionsRes - FilesystemVersion - SendReq - Property - SendRes - ReceiveReq - ReceiveRes -*/ package pdu import proto "github.com/golang/protobuf/proto" @@ -57,25 +38,69 @@ func (x FilesystemVersion_VersionType) String() string { return proto.EnumName(FilesystemVersion_VersionType_name, int32(x)) } func (FilesystemVersion_VersionType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{5, 0} + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{5, 0} } type ListFilesystemReq struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ListFilesystemReq) Reset() { *m = ListFilesystemReq{} } -func (m *ListFilesystemReq) String() string { return proto.CompactTextString(m) } -func (*ListFilesystemReq) ProtoMessage() {} -func (*ListFilesystemReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (m *ListFilesystemReq) Reset() { *m = ListFilesystemReq{} } +func (m *ListFilesystemReq) String() string { return proto.CompactTextString(m) } +func (*ListFilesystemReq) ProtoMessage() {} +func (*ListFilesystemReq) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{0} +} +func (m *ListFilesystemReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListFilesystemReq.Unmarshal(m, b) +} +func (m *ListFilesystemReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListFilesystemReq.Marshal(b, m, deterministic) +} +func (dst *ListFilesystemReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListFilesystemReq.Merge(dst, src) +} +func (m *ListFilesystemReq) XXX_Size() int { + return xxx_messageInfo_ListFilesystemReq.Size(m) +} +func (m *ListFilesystemReq) XXX_DiscardUnknown() { + xxx_messageInfo_ListFilesystemReq.DiscardUnknown(m) +} + +var xxx_messageInfo_ListFilesystemReq proto.InternalMessageInfo type ListFilesystemRes struct { - Filesystems []*Filesystem `protobuf:"bytes,1,rep,name=Filesystems" json:"Filesystems,omitempty"` + Filesystems []*Filesystem `protobuf:"bytes,1,rep,name=Filesystems,proto3" json:"Filesystems,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ListFilesystemRes) Reset() { *m = ListFilesystemRes{} } -func (m *ListFilesystemRes) String() string { return proto.CompactTextString(m) } -func (*ListFilesystemRes) ProtoMessage() {} -func (*ListFilesystemRes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } +func (m *ListFilesystemRes) Reset() { *m = ListFilesystemRes{} } +func (m *ListFilesystemRes) String() string { return proto.CompactTextString(m) } +func (*ListFilesystemRes) ProtoMessage() {} +func (*ListFilesystemRes) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{1} +} +func (m *ListFilesystemRes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListFilesystemRes.Unmarshal(m, b) +} +func (m *ListFilesystemRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListFilesystemRes.Marshal(b, m, deterministic) +} +func (dst *ListFilesystemRes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListFilesystemRes.Merge(dst, src) +} +func (m *ListFilesystemRes) XXX_Size() int { + return xxx_messageInfo_ListFilesystemRes.Size(m) +} +func (m *ListFilesystemRes) XXX_DiscardUnknown() { + xxx_messageInfo_ListFilesystemRes.DiscardUnknown(m) +} + +var xxx_messageInfo_ListFilesystemRes proto.InternalMessageInfo func (m *ListFilesystemRes) GetFilesystems() []*Filesystem { if m != nil { @@ -85,14 +110,36 @@ func (m *ListFilesystemRes) GetFilesystems() []*Filesystem { } type Filesystem struct { - Path string `protobuf:"bytes,1,opt,name=Path" json:"Path,omitempty"` - ResumeToken string `protobuf:"bytes,2,opt,name=ResumeToken" json:"ResumeToken,omitempty"` + Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` + ResumeToken string `protobuf:"bytes,2,opt,name=ResumeToken,proto3" json:"ResumeToken,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Filesystem) Reset() { *m = Filesystem{} } -func (m *Filesystem) String() string { return proto.CompactTextString(m) } -func (*Filesystem) ProtoMessage() {} -func (*Filesystem) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (m *Filesystem) Reset() { *m = Filesystem{} } +func (m *Filesystem) String() string { return proto.CompactTextString(m) } +func (*Filesystem) ProtoMessage() {} +func (*Filesystem) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{2} +} +func (m *Filesystem) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Filesystem.Unmarshal(m, b) +} +func (m *Filesystem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Filesystem.Marshal(b, m, deterministic) +} +func (dst *Filesystem) XXX_Merge(src proto.Message) { + xxx_messageInfo_Filesystem.Merge(dst, src) +} +func (m *Filesystem) XXX_Size() int { + return xxx_messageInfo_Filesystem.Size(m) +} +func (m *Filesystem) XXX_DiscardUnknown() { + xxx_messageInfo_Filesystem.DiscardUnknown(m) +} + +var xxx_messageInfo_Filesystem proto.InternalMessageInfo func (m *Filesystem) GetPath() string { if m != nil { @@ -109,13 +156,35 @@ func (m *Filesystem) GetResumeToken() string { } type ListFilesystemVersionsReq struct { - Filesystem string `protobuf:"bytes,1,opt,name=Filesystem" json:"Filesystem,omitempty"` + Filesystem string `protobuf:"bytes,1,opt,name=Filesystem,proto3" json:"Filesystem,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ListFilesystemVersionsReq) Reset() { *m = ListFilesystemVersionsReq{} } -func (m *ListFilesystemVersionsReq) String() string { return proto.CompactTextString(m) } -func (*ListFilesystemVersionsReq) ProtoMessage() {} -func (*ListFilesystemVersionsReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (m *ListFilesystemVersionsReq) Reset() { *m = ListFilesystemVersionsReq{} } +func (m *ListFilesystemVersionsReq) String() string { return proto.CompactTextString(m) } +func (*ListFilesystemVersionsReq) ProtoMessage() {} +func (*ListFilesystemVersionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{3} +} +func (m *ListFilesystemVersionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListFilesystemVersionsReq.Unmarshal(m, b) +} +func (m *ListFilesystemVersionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListFilesystemVersionsReq.Marshal(b, m, deterministic) +} +func (dst *ListFilesystemVersionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListFilesystemVersionsReq.Merge(dst, src) +} +func (m *ListFilesystemVersionsReq) XXX_Size() int { + return xxx_messageInfo_ListFilesystemVersionsReq.Size(m) +} +func (m *ListFilesystemVersionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_ListFilesystemVersionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_ListFilesystemVersionsReq proto.InternalMessageInfo func (m *ListFilesystemVersionsReq) GetFilesystem() string { if m != nil { @@ -125,13 +194,35 @@ func (m *ListFilesystemVersionsReq) GetFilesystem() string { } type ListFilesystemVersionsRes struct { - Versions []*FilesystemVersion `protobuf:"bytes,1,rep,name=Versions" json:"Versions,omitempty"` + Versions []*FilesystemVersion `protobuf:"bytes,1,rep,name=Versions,proto3" json:"Versions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ListFilesystemVersionsRes) Reset() { *m = ListFilesystemVersionsRes{} } -func (m *ListFilesystemVersionsRes) String() string { return proto.CompactTextString(m) } -func (*ListFilesystemVersionsRes) ProtoMessage() {} -func (*ListFilesystemVersionsRes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (m *ListFilesystemVersionsRes) Reset() { *m = ListFilesystemVersionsRes{} } +func (m *ListFilesystemVersionsRes) String() string { return proto.CompactTextString(m) } +func (*ListFilesystemVersionsRes) ProtoMessage() {} +func (*ListFilesystemVersionsRes) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{4} +} +func (m *ListFilesystemVersionsRes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListFilesystemVersionsRes.Unmarshal(m, b) +} +func (m *ListFilesystemVersionsRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListFilesystemVersionsRes.Marshal(b, m, deterministic) +} +func (dst *ListFilesystemVersionsRes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListFilesystemVersionsRes.Merge(dst, src) +} +func (m *ListFilesystemVersionsRes) XXX_Size() int { + return xxx_messageInfo_ListFilesystemVersionsRes.Size(m) +} +func (m *ListFilesystemVersionsRes) XXX_DiscardUnknown() { + xxx_messageInfo_ListFilesystemVersionsRes.DiscardUnknown(m) +} + +var xxx_messageInfo_ListFilesystemVersionsRes proto.InternalMessageInfo func (m *ListFilesystemVersionsRes) GetVersions() []*FilesystemVersion { if m != nil { @@ -141,17 +232,39 @@ func (m *ListFilesystemVersionsRes) GetVersions() []*FilesystemVersion { } type FilesystemVersion struct { - Type FilesystemVersion_VersionType `protobuf:"varint,1,opt,name=Type,enum=pdu.FilesystemVersion_VersionType" json:"Type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=Name" json:"Name,omitempty"` - Guid uint64 `protobuf:"varint,3,opt,name=Guid" json:"Guid,omitempty"` - CreateTXG uint64 `protobuf:"varint,4,opt,name=CreateTXG" json:"CreateTXG,omitempty"` - Creation string `protobuf:"bytes,5,opt,name=Creation" json:"Creation,omitempty"` + Type FilesystemVersion_VersionType `protobuf:"varint,1,opt,name=Type,proto3,enum=pdu.FilesystemVersion_VersionType" json:"Type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` + Guid uint64 `protobuf:"varint,3,opt,name=Guid,proto3" json:"Guid,omitempty"` + CreateTXG uint64 `protobuf:"varint,4,opt,name=CreateTXG,proto3" json:"CreateTXG,omitempty"` + Creation string `protobuf:"bytes,5,opt,name=Creation,proto3" json:"Creation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FilesystemVersion) Reset() { *m = FilesystemVersion{} } -func (m *FilesystemVersion) String() string { return proto.CompactTextString(m) } -func (*FilesystemVersion) ProtoMessage() {} -func (*FilesystemVersion) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (m *FilesystemVersion) Reset() { *m = FilesystemVersion{} } +func (m *FilesystemVersion) String() string { return proto.CompactTextString(m) } +func (*FilesystemVersion) ProtoMessage() {} +func (*FilesystemVersion) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{5} +} +func (m *FilesystemVersion) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilesystemVersion.Unmarshal(m, b) +} +func (m *FilesystemVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilesystemVersion.Marshal(b, m, deterministic) +} +func (dst *FilesystemVersion) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilesystemVersion.Merge(dst, src) +} +func (m *FilesystemVersion) XXX_Size() int { + return xxx_messageInfo_FilesystemVersion.Size(m) +} +func (m *FilesystemVersion) XXX_DiscardUnknown() { + xxx_messageInfo_FilesystemVersion.DiscardUnknown(m) +} + +var xxx_messageInfo_FilesystemVersion proto.InternalMessageInfo func (m *FilesystemVersion) GetType() FilesystemVersion_VersionType { if m != nil { @@ -189,10 +302,10 @@ func (m *FilesystemVersion) GetCreation() string { } type SendReq struct { - Filesystem string `protobuf:"bytes,1,opt,name=Filesystem" json:"Filesystem,omitempty"` - From string `protobuf:"bytes,2,opt,name=From" json:"From,omitempty"` + Filesystem string `protobuf:"bytes,1,opt,name=Filesystem,proto3" json:"Filesystem,omitempty"` + From string `protobuf:"bytes,2,opt,name=From,proto3" json:"From,omitempty"` // May be empty / null to request a full transfer of From - To string `protobuf:"bytes,3,opt,name=To" json:"To,omitempty"` + To string `protobuf:"bytes,3,opt,name=To,proto3" json:"To,omitempty"` // If ResumeToken is not empty, the resume token that CAN be tried for 'zfs send' by the sender. // The sender MUST indicate in SendRes.UsedResumeToken // If it does not work, the sender SHOULD clear the resume token on their side @@ -200,15 +313,37 @@ type SendReq struct { // If ResumeToken is not empty, the GUIDs of From and To // MUST correspond to those encoded in the ResumeToken. // Otherwise, the Sender MUST return an error. - ResumeToken string `protobuf:"bytes,4,opt,name=ResumeToken" json:"ResumeToken,omitempty"` - Compress bool `protobuf:"varint,5,opt,name=Compress" json:"Compress,omitempty"` - Dedup bool `protobuf:"varint,6,opt,name=Dedup" json:"Dedup,omitempty"` + ResumeToken string `protobuf:"bytes,4,opt,name=ResumeToken,proto3" json:"ResumeToken,omitempty"` + Compress bool `protobuf:"varint,5,opt,name=Compress,proto3" json:"Compress,omitempty"` + Dedup bool `protobuf:"varint,6,opt,name=Dedup,proto3" json:"Dedup,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SendReq) Reset() { *m = SendReq{} } -func (m *SendReq) String() string { return proto.CompactTextString(m) } -func (*SendReq) ProtoMessage() {} -func (*SendReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (m *SendReq) Reset() { *m = SendReq{} } +func (m *SendReq) String() string { return proto.CompactTextString(m) } +func (*SendReq) ProtoMessage() {} +func (*SendReq) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{6} +} +func (m *SendReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SendReq.Unmarshal(m, b) +} +func (m *SendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SendReq.Marshal(b, m, deterministic) +} +func (dst *SendReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SendReq.Merge(dst, src) +} +func (m *SendReq) XXX_Size() int { + return xxx_messageInfo_SendReq.Size(m) +} +func (m *SendReq) XXX_DiscardUnknown() { + xxx_messageInfo_SendReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SendReq proto.InternalMessageInfo func (m *SendReq) GetFilesystem() string { if m != nil { @@ -253,14 +388,36 @@ func (m *SendReq) GetDedup() bool { } type Property struct { - Name string `protobuf:"bytes,1,opt,name=Name" json:"Name,omitempty"` - Value string `protobuf:"bytes,2,opt,name=Value" json:"Value,omitempty"` + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Property) Reset() { *m = Property{} } -func (m *Property) String() string { return proto.CompactTextString(m) } -func (*Property) ProtoMessage() {} -func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (m *Property) Reset() { *m = Property{} } +func (m *Property) String() string { return proto.CompactTextString(m) } +func (*Property) ProtoMessage() {} +func (*Property) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{7} +} +func (m *Property) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Property.Unmarshal(m, b) +} +func (m *Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Property.Marshal(b, m, deterministic) +} +func (dst *Property) XXX_Merge(src proto.Message) { + xxx_messageInfo_Property.Merge(dst, src) +} +func (m *Property) XXX_Size() int { + return xxx_messageInfo_Property.Size(m) +} +func (m *Property) XXX_DiscardUnknown() { + xxx_messageInfo_Property.DiscardUnknown(m) +} + +var xxx_messageInfo_Property proto.InternalMessageInfo func (m *Property) GetName() string { if m != nil { @@ -278,14 +435,36 @@ func (m *Property) GetValue() string { type SendRes struct { // Whether the resume token provided in the request has been used or not. - UsedResumeToken bool `protobuf:"varint,1,opt,name=UsedResumeToken" json:"UsedResumeToken,omitempty"` - Properties []*Property `protobuf:"bytes,2,rep,name=Properties" json:"Properties,omitempty"` + UsedResumeToken bool `protobuf:"varint,1,opt,name=UsedResumeToken,proto3" json:"UsedResumeToken,omitempty"` + Properties []*Property `protobuf:"bytes,2,rep,name=Properties,proto3" json:"Properties,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SendRes) Reset() { *m = SendRes{} } -func (m *SendRes) String() string { return proto.CompactTextString(m) } -func (*SendRes) ProtoMessage() {} -func (*SendRes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (m *SendRes) Reset() { *m = SendRes{} } +func (m *SendRes) String() string { return proto.CompactTextString(m) } +func (*SendRes) ProtoMessage() {} +func (*SendRes) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{8} +} +func (m *SendRes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SendRes.Unmarshal(m, b) +} +func (m *SendRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SendRes.Marshal(b, m, deterministic) +} +func (dst *SendRes) XXX_Merge(src proto.Message) { + xxx_messageInfo_SendRes.Merge(dst, src) +} +func (m *SendRes) XXX_Size() int { + return xxx_messageInfo_SendRes.Size(m) +} +func (m *SendRes) XXX_DiscardUnknown() { + xxx_messageInfo_SendRes.DiscardUnknown(m) +} + +var xxx_messageInfo_SendRes proto.InternalMessageInfo func (m *SendRes) GetUsedResumeToken() bool { if m != nil { @@ -302,15 +481,37 @@ func (m *SendRes) GetProperties() []*Property { } type ReceiveReq struct { - Filesystem string `protobuf:"bytes,1,opt,name=Filesystem" json:"Filesystem,omitempty"` + Filesystem string `protobuf:"bytes,1,opt,name=Filesystem,proto3" json:"Filesystem,omitempty"` // If true, the receiver should clear the resume token before perfoming the zfs recv of the stream in the request - ClearResumeToken bool `protobuf:"varint,2,opt,name=ClearResumeToken" json:"ClearResumeToken,omitempty"` + ClearResumeToken bool `protobuf:"varint,2,opt,name=ClearResumeToken,proto3" json:"ClearResumeToken,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ReceiveReq) Reset() { *m = ReceiveReq{} } -func (m *ReceiveReq) String() string { return proto.CompactTextString(m) } -func (*ReceiveReq) ProtoMessage() {} -func (*ReceiveReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (m *ReceiveReq) Reset() { *m = ReceiveReq{} } +func (m *ReceiveReq) String() string { return proto.CompactTextString(m) } +func (*ReceiveReq) ProtoMessage() {} +func (*ReceiveReq) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{9} +} +func (m *ReceiveReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReceiveReq.Unmarshal(m, b) +} +func (m *ReceiveReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReceiveReq.Marshal(b, m, deterministic) +} +func (dst *ReceiveReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReceiveReq.Merge(dst, src) +} +func (m *ReceiveReq) XXX_Size() int { + return xxx_messageInfo_ReceiveReq.Size(m) +} +func (m *ReceiveReq) XXX_DiscardUnknown() { + xxx_messageInfo_ReceiveReq.DiscardUnknown(m) +} + +var xxx_messageInfo_ReceiveReq proto.InternalMessageInfo func (m *ReceiveReq) GetFilesystem() string { if m != nil { @@ -327,12 +528,34 @@ func (m *ReceiveReq) GetClearResumeToken() bool { } type ReceiveRes struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ReceiveRes) Reset() { *m = ReceiveRes{} } -func (m *ReceiveRes) String() string { return proto.CompactTextString(m) } -func (*ReceiveRes) ProtoMessage() {} -func (*ReceiveRes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (m *ReceiveRes) Reset() { *m = ReceiveRes{} } +func (m *ReceiveRes) String() string { return proto.CompactTextString(m) } +func (*ReceiveRes) ProtoMessage() {} +func (*ReceiveRes) Descriptor() ([]byte, []int) { + return fileDescriptor_pdu_25ca9e5977a7ce3f, []int{10} +} +func (m *ReceiveRes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReceiveRes.Unmarshal(m, b) +} +func (m *ReceiveRes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReceiveRes.Marshal(b, m, deterministic) +} +func (dst *ReceiveRes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReceiveRes.Merge(dst, src) +} +func (m *ReceiveRes) XXX_Size() int { + return xxx_messageInfo_ReceiveRes.Size(m) +} +func (m *ReceiveRes) XXX_DiscardUnknown() { + xxx_messageInfo_ReceiveRes.DiscardUnknown(m) +} + +var xxx_messageInfo_ReceiveRes proto.InternalMessageInfo func init() { proto.RegisterType((*ListFilesystemReq)(nil), "pdu.ListFilesystemReq") @@ -349,9 +572,9 @@ func init() { proto.RegisterEnum("pdu.FilesystemVersion_VersionType", FilesystemVersion_VersionType_name, FilesystemVersion_VersionType_value) } -func init() { proto.RegisterFile("pdu.proto", fileDescriptor0) } +func init() { proto.RegisterFile("pdu.proto", fileDescriptor_pdu_25ca9e5977a7ce3f) } -var fileDescriptor0 = []byte{ +var fileDescriptor_pdu_25ca9e5977a7ce3f = []byte{ // 445 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xc1, 0x6e, 0xd3, 0x40, 0x10, 0x65, 0x13, 0xa7, 0x38, 0x93, 0xd2, 0xa6, 0x4b, 0x85, 0x0c, 0x42, 0x28, 0xda, 0x53, 0x40,