Add ability to view irreparable segments on satellite (#1448)

* define irreparable inspector protobuf

* add IrreparableDB method GetLimited

* fill out irreparable inspector API

* add IrreparableInspector server to satellite, fix small error

* refactor IrreparableDB to use pb.IrreparableSegment instead of irreparable.RemoteSegmentInfo
This commit is contained in:
Cameron 2019-03-15 16:21:52 -04:00 committed by GitHub
parent 665fd33e3c
commit c7ffbe1c28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 1088 additions and 533 deletions

View File

@ -7,14 +7,17 @@ import (
"bufio" "bufio"
"context" "context"
"encoding/csv" "encoding/csv"
"encoding/json"
"flag" "flag"
"fmt" "fmt"
"io" "io"
"os" "os"
"strconv" "strconv"
"strings"
"github.com/gogo/protobuf/jsonpb" "github.com/gogo/protobuf/jsonpb"
"github.com/gogo/protobuf/proto" "github.com/gogo/protobuf/proto"
prompt "github.com/segmentio/go-prompt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/zeebo/errs" "github.com/zeebo/errs"
@ -44,6 +47,8 @@ var (
// ErrArgs throws when there are errors with CLI args // ErrArgs throws when there are errors with CLI args
ErrArgs = errs.Class("error with CLI args:") ErrArgs = errs.Class("error with CLI args:")
irreparableLimit int32
// Commander CLI // Commander CLI
rootCmd = &cobra.Command{ rootCmd = &cobra.Command{
Use: "inspector", Use: "inspector",
@ -57,6 +62,11 @@ var (
Use: "statdb", Use: "statdb",
Short: "commands for statdb", Short: "commands for statdb",
} }
irreparableCmd = &cobra.Command{
Use: "irreparable",
Short: "list segments in irreparable database",
RunE: getSegments,
}
countNodeCmd = &cobra.Command{ countNodeCmd = &cobra.Command{
Use: "count", Use: "count",
Short: "count nodes in kademlia and overlay", Short: "count nodes in kademlia and overlay",
@ -119,6 +129,7 @@ type Inspector struct {
kadclient pb.KadInspectorClient kadclient pb.KadInspectorClient
overlayclient pb.OverlayInspectorClient overlayclient pb.OverlayInspectorClient
statdbclient pb.StatDBInspectorClient statdbclient pb.StatDBInspectorClient
irrdbclient pb.IrreparableInspectorClient
} }
// NewInspector creates a new gRPC inspector client for access to kad, // NewInspector creates a new gRPC inspector client for access to kad,
@ -144,6 +155,7 @@ func NewInspector(address, path string) (*Inspector, error) {
kadclient: pb.NewKadInspectorClient(conn), kadclient: pb.NewKadInspectorClient(conn),
overlayclient: pb.NewOverlayInspectorClient(conn), overlayclient: pb.NewOverlayInspectorClient(conn),
statdbclient: pb.NewStatDBInspectorClient(conn), statdbclient: pb.NewStatDBInspectorClient(conn),
irrdbclient: pb.NewIrreparableInspectorClient(conn),
}, nil }, nil
} }
@ -435,9 +447,69 @@ func CreateCSVStats(cmd *cobra.Command, args []string) (err error) {
return nil return nil
} }
func getSegments(cmd *cobra.Command, args []string) error {
if irreparableLimit <= int32(0) {
return ErrArgs.New("limit must be greater than 0")
}
i, err := NewInspector(*Addr, *IdentityPath)
if err != nil {
return ErrInspectorDial.Wrap(err)
}
length := irreparableLimit
var offset int32
// query DB and paginate results
for length >= irreparableLimit {
res, err := i.irrdbclient.ListSegments(context.Background(), &pb.ListSegmentsRequest{Limit: irreparableLimit, Offset: offset})
if err != nil {
return ErrRequest.Wrap(err)
}
objects := sortSegments(res.Segments)
if len(objects) == 0 {
break
}
// format and print segments
enc := json.NewEncoder(os.Stdout)
enc.SetIndent("", " ")
err = enc.Encode(objects)
if err != nil {
return err
}
length = int32(len(res.Segments))
offset += length
if length >= irreparableLimit {
if !prompt.Confirm("\nNext page? (y/n)") {
break
}
}
}
return nil
}
// sortSegments by the object they belong to
func sortSegments(segments []*pb.IrreparableSegment) map[string][]*pb.IrreparableSegment {
objects := make(map[string][]*pb.IrreparableSegment)
for _, seg := range segments {
pathElements := storj.SplitPath(string(seg.Path))
// by removing the segment index, we can easily sort segments into a map of objects
pathElements = append(pathElements[:1], pathElements[2:]...)
objPath := strings.Join(pathElements, "/")
objects[objPath] = append(objects[objPath], seg)
}
return objects
}
func init() { func init() {
rootCmd.AddCommand(kadCmd) rootCmd.AddCommand(kadCmd)
rootCmd.AddCommand(statsCmd) rootCmd.AddCommand(statsCmd)
rootCmd.AddCommand(irreparableCmd)
kadCmd.AddCommand(countNodeCmd) kadCmd.AddCommand(countNodeCmd)
kadCmd.AddCommand(pingNodeCmd) kadCmd.AddCommand(pingNodeCmd)
@ -450,6 +522,8 @@ func init() {
statsCmd.AddCommand(createStatsCmd) statsCmd.AddCommand(createStatsCmd)
statsCmd.AddCommand(createCSVStatsCmd) statsCmd.AddCommand(createCSVStatsCmd)
irreparableCmd.Flags().Int32Var(&irreparableLimit, "limit", 50, "max number of results per page")
flag.Parse() flag.Parse()
} }

2
go.mod
View File

@ -12,7 +12,7 @@ require (
github.com/minio/minio v0.0.0-20180508161510-54cd29b51c38 github.com/minio/minio v0.0.0-20180508161510-54cd29b51c38
github.com/mitchellh/mapstructure v1.1.1 // indirect github.com/mitchellh/mapstructure v1.1.1 // indirect
github.com/segmentio/go-prompt v1.2.1-0.20161017233205-f0d19b6901ad // indirect github.com/segmentio/go-prompt v1.2.1-0.20161017233205-f0d19b6901ad
) )
exclude gopkg.in/olivere/elastic.v5 v5.0.72 // buggy import, see https://github.com/olivere/elastic/pull/869 exclude gopkg.in/olivere/elastic.v5 v5.0.72 // buggy import, see https://github.com/olivere/elastic/pull/869

View File

@ -153,12 +153,12 @@ func (checker *Checker) IdentifyInjuredSegments(ctx context.Context) (err error)
remoteSegmentsLost++ remoteSegmentsLost++
// make an entry in to the irreparable table // make an entry in to the irreparable table
segmentInfo := &irreparable.RemoteSegmentInfo{ segmentInfo := &pb.IrreparableSegment{
EncryptedSegmentPath: item.Key, Path: item.Key,
EncryptedSegmentDetail: item.Value, SegmentDetail: pointer,
LostPiecesCount: int64(len(missingPieces)), LostPieces: int32(len(missingPieces)),
RepairUnixSec: time.Now().Unix(), LastRepairAttempt: time.Now().Unix(),
RepairAttemptCount: int64(1), RepairAttemptCount: int64(1),
} }
//add the entry if new or update attempt count if already exists //add the entry if new or update attempt count if already exists

View File

@ -138,9 +138,9 @@ func TestIdentifyIrreparableSegments(t *testing.T) {
remoteSegmentInfo, err := irreparable.Get(ctx, []byte("fake-piece-id")) remoteSegmentInfo, err := irreparable.Get(ctx, []byte("fake-piece-id"))
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, len(expectedLostPieces), int(remoteSegmentInfo.LostPiecesCount)) assert.Equal(t, len(expectedLostPieces), int(remoteSegmentInfo.LostPieces))
assert.Equal(t, 1, int(remoteSegmentInfo.RepairAttemptCount)) assert.Equal(t, 1, int(remoteSegmentInfo.RepairAttemptCount))
firstRepair := remoteSegmentInfo.RepairUnixSec firstRepair := remoteSegmentInfo.LastRepairAttempt
// check irreparable once again but wait a second // check irreparable once again but wait a second
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
@ -150,10 +150,10 @@ func TestIdentifyIrreparableSegments(t *testing.T) {
remoteSegmentInfo, err = irreparable.Get(ctx, []byte("fake-piece-id")) remoteSegmentInfo, err = irreparable.Get(ctx, []byte("fake-piece-id"))
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, len(expectedLostPieces), int(remoteSegmentInfo.LostPiecesCount)) assert.Equal(t, len(expectedLostPieces), int(remoteSegmentInfo.LostPieces))
// check if repair attempt count was incremented // check if repair attempt count was incremented
assert.Equal(t, 2, int(remoteSegmentInfo.RepairAttemptCount)) assert.Equal(t, 2, int(remoteSegmentInfo.RepairAttemptCount))
assert.True(t, firstRepair < remoteSegmentInfo.RepairUnixSec) assert.True(t, firstRepair < remoteSegmentInfo.LastRepairAttempt)
}) })
} }

View File

@ -0,0 +1,30 @@
// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information.
package irreparable
import (
"context"
"storj.io/storj/pkg/pb"
)
// Inspector is a gRPC service for inspecting irreparable internals
type Inspector struct {
irrdb DB
}
// NewInspector creates an Inspector
func NewInspector(irrdb DB) *Inspector {
return &Inspector{irrdb: irrdb}
}
// ListSegments returns a number of irreparable segments by limit and offset
func (srv *Inspector) ListSegments(ctx context.Context, req *pb.ListSegmentsRequest) (*pb.ListSegmentsResponse, error) {
segments, err := srv.irrdb.GetLimited(ctx, int(req.GetLimit()), int64(req.GetOffset()))
if err != nil {
return nil, err
}
return &pb.ListSegmentsResponse{Segments: segments}, err
}

View File

@ -5,23 +5,18 @@ package irreparable
import ( import (
"context" "context"
"storj.io/storj/pkg/pb"
) )
// DB stores information about repairs that have failed. // DB stores information about repairs that have failed.
type DB interface { type DB interface {
// IncrementRepairAttempts increments the repair attempts. // IncrementRepairAttempts increments the repair attempts.
IncrementRepairAttempts(ctx context.Context, segmentInfo *RemoteSegmentInfo) error IncrementRepairAttempts(ctx context.Context, segmentInfo *pb.IrreparableSegment) error
// Get returns irreparable segment info based on segmentPath. // Get returns irreparable segment info based on segmentPath.
Get(ctx context.Context, segmentPath []byte) (*RemoteSegmentInfo, error) Get(ctx context.Context, segmentPath []byte) (*pb.IrreparableSegment, error)
// GetLimited number of segments from offset
GetLimited(ctx context.Context, limit int, offset int64) ([]*pb.IrreparableSegment, error)
// Delete removes irreparable segment info based on segmentPath. // Delete removes irreparable segment info based on segmentPath.
Delete(ctx context.Context, segmentPath []byte) error Delete(ctx context.Context, segmentPath []byte) error
} }
// RemoteSegmentInfo is information about failed repairs.
type RemoteSegmentInfo struct {
EncryptedSegmentPath []byte
EncryptedSegmentDetail []byte //contains marshaled info of pb.Pointer
LostPiecesCount int64
RepairUnixSec int64
RepairAttemptCount int64
}

View File

@ -4,13 +4,14 @@
package irreparable_test package irreparable_test
import ( import (
"strconv"
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"storj.io/storj/internal/testcontext" "storj.io/storj/internal/testcontext"
"storj.io/storj/pkg/datarepair/irreparable" "storj.io/storj/pkg/pb"
"storj.io/storj/satellite" "storj.io/storj/satellite"
"storj.io/storj/satellite/satellitedb/satellitedbtest" "storj.io/storj/satellite/satellitedb/satellitedbtest"
) )
@ -22,35 +23,73 @@ func TestIrreparable(t *testing.T) {
irrdb := db.Irreparable() irrdb := db.Irreparable()
//testing variables // Create and insert test segment infos into DB
segmentInfo := &irreparable.RemoteSegmentInfo{ var segments []*pb.IrreparableSegment
EncryptedSegmentPath: []byte("IamSegmentkeyinfo"), for i := 0; i < 3; i++ {
EncryptedSegmentDetail: []byte("IamSegmentdetailinfo"), segments = append(segments, &pb.IrreparableSegment{
LostPiecesCount: int64(10), Path: []byte(strconv.Itoa(i)),
RepairUnixSec: time.Now().Unix(), SegmentDetail: &pb.Pointer{},
RepairAttemptCount: int64(10), LostPieces: int32(i),
} LastRepairAttempt: time.Now().Unix(),
RepairAttemptCount: int64(10),
{ // New entry })
err := irrdb.IncrementRepairAttempts(ctx, segmentInfo) err := irrdb.IncrementRepairAttempts(ctx, segments[i])
assert.NoError(t, err) assert.NoError(t, err)
} }
{ //Create the already existing entry { // GetLimited limit 1, offset 0
err := irrdb.IncrementRepairAttempts(ctx, segmentInfo) segs, err := irrdb.GetLimited(ctx, 1, 0)
assert.NoError(t, err) assert.NoError(t, err)
segmentInfo.RepairAttemptCount++ assert.Equal(t, 1, len(segs))
assert.Equal(t, segments[0], segs[0])
}
dbxInfo, err := irrdb.Get(ctx, segmentInfo.EncryptedSegmentPath) { // GetLimited limit 1, offset 1
segs, err := irrdb.GetLimited(ctx, 1, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, segmentInfo, dbxInfo) assert.Equal(t, 1, len(segs))
assert.Equal(t, segments[1], segs[0])
}
{ // GetLimited limit 2, offset 0
segs, err := irrdb.GetLimited(ctx, 2, 0)
assert.NoError(t, err)
assert.Equal(t, 2, len(segs))
assert.Equal(t, segments[0], segs[0])
assert.Equal(t, segments[1], segs[1])
}
{ // GetLimited limit 2, offset 1
segs, err := irrdb.GetLimited(ctx, 2, 1)
assert.NoError(t, err)
assert.Equal(t, 2, len(segs))
assert.Equal(t, segments[1], segs[0])
assert.Equal(t, segments[2], segs[1])
}
{ // GetLimited limit 3, offset 1
segs, err := irrdb.GetLimited(ctx, 3, 1)
assert.NoError(t, err)
assert.Equal(t, 2, len(segs))
assert.Equal(t, segments[1], segs[0])
assert.Equal(t, segments[2], segs[1])
}
{ // Test repair count incrementation
err := irrdb.IncrementRepairAttempts(ctx, segments[0])
assert.NoError(t, err)
segments[0].RepairAttemptCount++
dbxInfo, err := irrdb.Get(ctx, segments[0].Path)
assert.NoError(t, err)
assert.Equal(t, segments[0], dbxInfo)
} }
{ //Delete existing entry { //Delete existing entry
err := irrdb.Delete(ctx, segmentInfo.EncryptedSegmentPath) err := irrdb.Delete(ctx, segments[0].Path)
assert.NoError(t, err) assert.NoError(t, err)
_, err = irrdb.Get(ctx, segmentInfo.EncryptedSegmentPath) _, err = irrdb.Get(ctx, segments[0].Path)
assert.Error(t, err) assert.Error(t, err)
} }
}) })

View File

@ -3,13 +3,12 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import ( import (
context "golang.org/x/net/context" context "context"
fmt "fmt"
proto "github.com/gogo/protobuf/proto"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
math "math"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -36,6 +35,7 @@ var AgreementsSummary_Status_name = map[int32]string{
1: "OK", 1: "OK",
2: "REJECTED", 2: "REJECTED",
} }
var AgreementsSummary_Status_value = map[string]int32{ var AgreementsSummary_Status_value = map[string]int32{
"FAIL": 0, "FAIL": 0,
"OK": 1, "OK": 1,
@ -45,8 +45,9 @@ var AgreementsSummary_Status_value = map[string]int32{
func (x AgreementsSummary_Status) String() string { func (x AgreementsSummary_Status) String() string {
return proto.EnumName(AgreementsSummary_Status_name, int32(x)) return proto.EnumName(AgreementsSummary_Status_name, int32(x))
} }
func (AgreementsSummary_Status) EnumDescriptor() ([]byte, []int) { func (AgreementsSummary_Status) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_bandwidth_da05cbbeac812a9d, []int{0, 0} return fileDescriptor_ed768d1bfad2d961, []int{0, 0}
} }
type AgreementsSummary struct { type AgreementsSummary struct {
@ -60,7 +61,7 @@ func (m *AgreementsSummary) Reset() { *m = AgreementsSummary{} }
func (m *AgreementsSummary) String() string { return proto.CompactTextString(m) } func (m *AgreementsSummary) String() string { return proto.CompactTextString(m) }
func (*AgreementsSummary) ProtoMessage() {} func (*AgreementsSummary) ProtoMessage() {}
func (*AgreementsSummary) Descriptor() ([]byte, []int) { func (*AgreementsSummary) Descriptor() ([]byte, []int) {
return fileDescriptor_bandwidth_da05cbbeac812a9d, []int{0} return fileDescriptor_ed768d1bfad2d961, []int{0}
} }
func (m *AgreementsSummary) XXX_Unmarshal(b []byte) error { func (m *AgreementsSummary) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AgreementsSummary.Unmarshal(m, b) return xxx_messageInfo_AgreementsSummary.Unmarshal(m, b)
@ -68,8 +69,8 @@ func (m *AgreementsSummary) XXX_Unmarshal(b []byte) error {
func (m *AgreementsSummary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *AgreementsSummary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AgreementsSummary.Marshal(b, m, deterministic) return xxx_messageInfo_AgreementsSummary.Marshal(b, m, deterministic)
} }
func (dst *AgreementsSummary) XXX_Merge(src proto.Message) { func (m *AgreementsSummary) XXX_Merge(src proto.Message) {
xxx_messageInfo_AgreementsSummary.Merge(dst, src) xxx_messageInfo_AgreementsSummary.Merge(m, src)
} }
func (m *AgreementsSummary) XXX_Size() int { func (m *AgreementsSummary) XXX_Size() int {
return xxx_messageInfo_AgreementsSummary.Size(m) return xxx_messageInfo_AgreementsSummary.Size(m)
@ -88,8 +89,28 @@ func (m *AgreementsSummary) GetStatus() AgreementsSummary_Status {
} }
func init() { func init() {
proto.RegisterType((*AgreementsSummary)(nil), "bandwidth.AgreementsSummary")
proto.RegisterEnum("bandwidth.AgreementsSummary_Status", AgreementsSummary_Status_name, AgreementsSummary_Status_value) proto.RegisterEnum("bandwidth.AgreementsSummary_Status", AgreementsSummary_Status_name, AgreementsSummary_Status_value)
proto.RegisterType((*AgreementsSummary)(nil), "bandwidth.AgreementsSummary")
}
func init() { proto.RegisterFile("bandwidth.proto", fileDescriptor_ed768d1bfad2d961) }
var fileDescriptor_ed768d1bfad2d961 = []byte{
// 210 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x4a, 0xcc, 0x4b,
0x29, 0xcf, 0x4c, 0x29, 0xc9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x0b, 0x48,
0x09, 0x14, 0x64, 0xa6, 0x26, 0xa7, 0x16, 0x97, 0xe4, 0x17, 0xa5, 0x42, 0x24, 0x95, 0xaa, 0xb8,
0x04, 0x1d, 0xd3, 0x8b, 0x52, 0x53, 0x73, 0x53, 0xf3, 0x4a, 0x8a, 0x83, 0x4b, 0x73, 0x73, 0x13,
0x8b, 0x2a, 0x85, 0xac, 0xb9, 0xd8, 0x8a, 0x4b, 0x12, 0x4b, 0x4a, 0x8b, 0x25, 0x18, 0x15, 0x18,
0x35, 0xf8, 0x8c, 0x94, 0xf5, 0x10, 0x66, 0x62, 0xa8, 0xd6, 0x0b, 0x06, 0x2b, 0x0d, 0x82, 0x6a,
0x51, 0xd2, 0xe0, 0x62, 0x83, 0x88, 0x08, 0x71, 0x70, 0xb1, 0xb8, 0x39, 0x7a, 0xfa, 0x08, 0x30,
0x08, 0xb1, 0x71, 0x31, 0xf9, 0x7b, 0x0b, 0x30, 0x0a, 0xf1, 0x70, 0x71, 0x04, 0xb9, 0x7a, 0xb9,
0x3a, 0x87, 0xb8, 0xba, 0x08, 0x30, 0x19, 0xe5, 0x73, 0x71, 0x3a, 0xc1, 0xcc, 0x15, 0x4a, 0xe2,
0x12, 0x86, 0x73, 0x10, 0x76, 0x08, 0x69, 0xeb, 0x21, 0x9c, 0x5c, 0x94, 0x5f, 0x5a, 0x92, 0x5a,
0xac, 0x17, 0x94, 0x9a, 0x57, 0x92, 0x5a, 0x84, 0x50, 0x9c, 0x93, 0x93, 0x9f, 0x9c, 0x58, 0x92,
0x99, 0x9f, 0x27, 0x25, 0x83, 0xcf, 0x9d, 0x4a, 0x0c, 0x4e, 0x2c, 0x51, 0x4c, 0x05, 0x49, 0x49,
0x6c, 0x60, 0x9f, 0x1b, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x2a, 0x6a, 0xd9, 0xfd, 0x29, 0x01,
0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -163,23 +184,3 @@ var _Bandwidth_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "bandwidth.proto", Metadata: "bandwidth.proto",
} }
func init() { proto.RegisterFile("bandwidth.proto", fileDescriptor_bandwidth_da05cbbeac812a9d) }
var fileDescriptor_bandwidth_da05cbbeac812a9d = []byte{
// 210 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x4a, 0xcc, 0x4b,
0x29, 0xcf, 0x4c, 0x29, 0xc9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x0b, 0x48,
0x09, 0x14, 0x64, 0xa6, 0x26, 0xa7, 0x16, 0x97, 0xe4, 0x17, 0xa5, 0x42, 0x24, 0x95, 0xaa, 0xb8,
0x04, 0x1d, 0xd3, 0x8b, 0x52, 0x53, 0x73, 0x53, 0xf3, 0x4a, 0x8a, 0x83, 0x4b, 0x73, 0x73, 0x13,
0x8b, 0x2a, 0x85, 0xac, 0xb9, 0xd8, 0x8a, 0x4b, 0x12, 0x4b, 0x4a, 0x8b, 0x25, 0x18, 0x15, 0x18,
0x35, 0xf8, 0x8c, 0x94, 0xf5, 0x10, 0x66, 0x62, 0xa8, 0xd6, 0x0b, 0x06, 0x2b, 0x0d, 0x82, 0x6a,
0x51, 0xd2, 0xe0, 0x62, 0x83, 0x88, 0x08, 0x71, 0x70, 0xb1, 0xb8, 0x39, 0x7a, 0xfa, 0x08, 0x30,
0x08, 0xb1, 0x71, 0x31, 0xf9, 0x7b, 0x0b, 0x30, 0x0a, 0xf1, 0x70, 0x71, 0x04, 0xb9, 0x7a, 0xb9,
0x3a, 0x87, 0xb8, 0xba, 0x08, 0x30, 0x19, 0xe5, 0x73, 0x71, 0x3a, 0xc1, 0xcc, 0x15, 0x4a, 0xe2,
0x12, 0x86, 0x73, 0x10, 0x76, 0x08, 0x69, 0xeb, 0x21, 0x9c, 0x5c, 0x94, 0x5f, 0x5a, 0x92, 0x5a,
0xac, 0x17, 0x94, 0x9a, 0x57, 0x92, 0x5a, 0x84, 0x50, 0x9c, 0x93, 0x93, 0x9f, 0x9c, 0x58, 0x92,
0x99, 0x9f, 0x27, 0x25, 0x83, 0xcf, 0x9d, 0x4a, 0x0c, 0x4e, 0x2c, 0x51, 0x4c, 0x05, 0x49, 0x49,
0x6c, 0x60, 0x9f, 0x1b, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x2a, 0x6a, 0xd9, 0xfd, 0x29, 0x01,
0x00, 0x00,
}

View File

@ -3,14 +3,13 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import ( import (
context "golang.org/x/net/context" context "context"
fmt "fmt"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
math "math"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -36,7 +35,7 @@ func (m *SigningRequest) Reset() { *m = SigningRequest{} }
func (m *SigningRequest) String() string { return proto.CompactTextString(m) } func (m *SigningRequest) String() string { return proto.CompactTextString(m) }
func (*SigningRequest) ProtoMessage() {} func (*SigningRequest) ProtoMessage() {}
func (*SigningRequest) Descriptor() ([]byte, []int) { func (*SigningRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_certificate_2545cbff56dfc715, []int{0} return fileDescriptor_c0d34c34dd33be4b, []int{0}
} }
func (m *SigningRequest) XXX_Unmarshal(b []byte) error { func (m *SigningRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SigningRequest.Unmarshal(m, b) return xxx_messageInfo_SigningRequest.Unmarshal(m, b)
@ -44,8 +43,8 @@ func (m *SigningRequest) XXX_Unmarshal(b []byte) error {
func (m *SigningRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *SigningRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SigningRequest.Marshal(b, m, deterministic) return xxx_messageInfo_SigningRequest.Marshal(b, m, deterministic)
} }
func (dst *SigningRequest) XXX_Merge(src proto.Message) { func (m *SigningRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SigningRequest.Merge(dst, src) xxx_messageInfo_SigningRequest.Merge(m, src)
} }
func (m *SigningRequest) XXX_Size() int { func (m *SigningRequest) XXX_Size() int {
return xxx_messageInfo_SigningRequest.Size(m) return xxx_messageInfo_SigningRequest.Size(m)
@ -81,7 +80,7 @@ func (m *SigningResponse) Reset() { *m = SigningResponse{} }
func (m *SigningResponse) String() string { return proto.CompactTextString(m) } func (m *SigningResponse) String() string { return proto.CompactTextString(m) }
func (*SigningResponse) ProtoMessage() {} func (*SigningResponse) ProtoMessage() {}
func (*SigningResponse) Descriptor() ([]byte, []int) { func (*SigningResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_certificate_2545cbff56dfc715, []int{1} return fileDescriptor_c0d34c34dd33be4b, []int{1}
} }
func (m *SigningResponse) XXX_Unmarshal(b []byte) error { func (m *SigningResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SigningResponse.Unmarshal(m, b) return xxx_messageInfo_SigningResponse.Unmarshal(m, b)
@ -89,8 +88,8 @@ func (m *SigningResponse) XXX_Unmarshal(b []byte) error {
func (m *SigningResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *SigningResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SigningResponse.Marshal(b, m, deterministic) return xxx_messageInfo_SigningResponse.Marshal(b, m, deterministic)
} }
func (dst *SigningResponse) XXX_Merge(src proto.Message) { func (m *SigningResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_SigningResponse.Merge(dst, src) xxx_messageInfo_SigningResponse.Merge(m, src)
} }
func (m *SigningResponse) XXX_Size() int { func (m *SigningResponse) XXX_Size() int {
return xxx_messageInfo_SigningResponse.Size(m) return xxx_messageInfo_SigningResponse.Size(m)
@ -113,6 +112,24 @@ func init() {
proto.RegisterType((*SigningResponse)(nil), "node.SigningResponse") proto.RegisterType((*SigningResponse)(nil), "node.SigningResponse")
} }
func init() { proto.RegisterFile("certificate.proto", fileDescriptor_c0d34c34dd33be4b) }
var fileDescriptor_c0d34c34dd33be4b = []byte{
// 192 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4c, 0x4e, 0x2d, 0x2a,
0xc9, 0x4c, 0xcb, 0x4c, 0x4e, 0x2c, 0x49, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0xc9,
0xcb, 0x4f, 0x49, 0x95, 0xe2, 0x4a, 0xcf, 0x4f, 0xcf, 0x87, 0x88, 0x28, 0xf9, 0x72, 0xf1, 0x05,
0x67, 0xa6, 0xe7, 0x65, 0xe6, 0xa5, 0x07, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x08, 0xc9, 0x72,
0x71, 0x25, 0x96, 0x96, 0x64, 0xc4, 0x97, 0xe4, 0x67, 0xa7, 0xe6, 0x49, 0x30, 0x2a, 0x30, 0x6a,
0x70, 0x06, 0x71, 0x82, 0x44, 0x42, 0x40, 0x02, 0x42, 0x32, 0x5c, 0x9c, 0x25, 0x99, 0xb9, 0xa9,
0xc5, 0x25, 0x89, 0xb9, 0x05, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x08, 0x01, 0x25, 0x75,
0x2e, 0x7e, 0xb8, 0x71, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, 0x22, 0x5c, 0xac, 0xc9, 0x19,
0x89, 0x99, 0x20, 0xa3, 0x98, 0x35, 0x78, 0x82, 0x20, 0x1c, 0x23, 0x67, 0x2e, 0x1e, 0x67, 0x84,
0xf3, 0x8a, 0x85, 0x8c, 0xb9, 0x58, 0x40, 0x1a, 0x85, 0x44, 0xf4, 0x40, 0x4e, 0xd4, 0x43, 0x75,
0x93, 0x94, 0x28, 0x9a, 0x28, 0xc4, 0x68, 0x27, 0x96, 0x28, 0xa6, 0x82, 0xa4, 0x24, 0x36, 0xb0,
0x4f, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x3a, 0xd8, 0xc7, 0x87, 0xf0, 0x00, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ context.Context var _ context.Context
var _ grpc.ClientConn var _ grpc.ClientConn
@ -184,21 +201,3 @@ var _Certificates_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "certificate.proto", Metadata: "certificate.proto",
} }
func init() { proto.RegisterFile("certificate.proto", fileDescriptor_certificate_2545cbff56dfc715) }
var fileDescriptor_certificate_2545cbff56dfc715 = []byte{
// 192 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4c, 0x4e, 0x2d, 0x2a,
0xc9, 0x4c, 0xcb, 0x4c, 0x4e, 0x2c, 0x49, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0xc9,
0xcb, 0x4f, 0x49, 0x95, 0xe2, 0x4a, 0xcf, 0x4f, 0xcf, 0x87, 0x88, 0x28, 0xf9, 0x72, 0xf1, 0x05,
0x67, 0xa6, 0xe7, 0x65, 0xe6, 0xa5, 0x07, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x08, 0xc9, 0x72,
0x71, 0x25, 0x96, 0x96, 0x64, 0xc4, 0x97, 0xe4, 0x67, 0xa7, 0xe6, 0x49, 0x30, 0x2a, 0x30, 0x6a,
0x70, 0x06, 0x71, 0x82, 0x44, 0x42, 0x40, 0x02, 0x42, 0x32, 0x5c, 0x9c, 0x25, 0x99, 0xb9, 0xa9,
0xc5, 0x25, 0x89, 0xb9, 0x05, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x08, 0x01, 0x25, 0x75,
0x2e, 0x7e, 0xb8, 0x71, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, 0x22, 0x5c, 0xac, 0xc9, 0x19,
0x89, 0x99, 0x20, 0xa3, 0x98, 0x35, 0x78, 0x82, 0x20, 0x1c, 0x23, 0x67, 0x2e, 0x1e, 0x67, 0x84,
0xf3, 0x8a, 0x85, 0x8c, 0xb9, 0x58, 0x40, 0x1a, 0x85, 0x44, 0xf4, 0x40, 0x4e, 0xd4, 0x43, 0x75,
0x93, 0x94, 0x28, 0x9a, 0x28, 0xc4, 0x68, 0x27, 0x96, 0x28, 0xa6, 0x82, 0xa4, 0x24, 0x36, 0xb0,
0x4f, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x3a, 0xd8, 0xc7, 0x87, 0xf0, 0x00, 0x00, 0x00,
}

View File

@ -3,9 +3,11 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto" import (
import fmt "fmt" fmt "fmt"
import math "math" proto "github.com/gogo/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal var _ = proto.Marshal
@ -31,7 +33,7 @@ func (m *InjuredSegment) Reset() { *m = InjuredSegment{} }
func (m *InjuredSegment) String() string { return proto.CompactTextString(m) } func (m *InjuredSegment) String() string { return proto.CompactTextString(m) }
func (*InjuredSegment) ProtoMessage() {} func (*InjuredSegment) ProtoMessage() {}
func (*InjuredSegment) Descriptor() ([]byte, []int) { func (*InjuredSegment) Descriptor() ([]byte, []int) {
return fileDescriptor_datarepair_45267f47333c8119, []int{0} return fileDescriptor_b1b08e6fe9398aa6, []int{0}
} }
func (m *InjuredSegment) XXX_Unmarshal(b []byte) error { func (m *InjuredSegment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InjuredSegment.Unmarshal(m, b) return xxx_messageInfo_InjuredSegment.Unmarshal(m, b)
@ -39,8 +41,8 @@ func (m *InjuredSegment) XXX_Unmarshal(b []byte) error {
func (m *InjuredSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *InjuredSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InjuredSegment.Marshal(b, m, deterministic) return xxx_messageInfo_InjuredSegment.Marshal(b, m, deterministic)
} }
func (dst *InjuredSegment) XXX_Merge(src proto.Message) { func (m *InjuredSegment) XXX_Merge(src proto.Message) {
xxx_messageInfo_InjuredSegment.Merge(dst, src) xxx_messageInfo_InjuredSegment.Merge(m, src)
} }
func (m *InjuredSegment) XXX_Size() int { func (m *InjuredSegment) XXX_Size() int {
return xxx_messageInfo_InjuredSegment.Size(m) return xxx_messageInfo_InjuredSegment.Size(m)
@ -69,9 +71,9 @@ func init() {
proto.RegisterType((*InjuredSegment)(nil), "repair.InjuredSegment") proto.RegisterType((*InjuredSegment)(nil), "repair.InjuredSegment")
} }
func init() { proto.RegisterFile("datarepair.proto", fileDescriptor_datarepair_45267f47333c8119) } func init() { proto.RegisterFile("datarepair.proto", fileDescriptor_b1b08e6fe9398aa6) }
var fileDescriptor_datarepair_45267f47333c8119 = []byte{ var fileDescriptor_b1b08e6fe9398aa6 = []byte{
// 119 bytes of a gzipped FileDescriptorProto // 119 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0x49, 0x2c, 0x49, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0x49, 0x2c, 0x49,
0x2c, 0x4a, 0x2d, 0x48, 0xcc, 0x2c, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x2c, 0x4a, 0x2d, 0x48, 0xcc, 0x2c, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0,

View File

@ -24,6 +24,161 @@ var _ = math.Inf
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
// ListSegments
type ListSegmentsRequest struct {
Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListSegmentsRequest) Reset() { *m = ListSegmentsRequest{} }
func (m *ListSegmentsRequest) String() string { return proto.CompactTextString(m) }
func (*ListSegmentsRequest) ProtoMessage() {}
func (*ListSegmentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{0}
}
func (m *ListSegmentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListSegmentsRequest.Unmarshal(m, b)
}
func (m *ListSegmentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListSegmentsRequest.Marshal(b, m, deterministic)
}
func (m *ListSegmentsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListSegmentsRequest.Merge(m, src)
}
func (m *ListSegmentsRequest) XXX_Size() int {
return xxx_messageInfo_ListSegmentsRequest.Size(m)
}
func (m *ListSegmentsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListSegmentsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListSegmentsRequest proto.InternalMessageInfo
func (m *ListSegmentsRequest) GetLimit() int32 {
if m != nil {
return m.Limit
}
return 0
}
func (m *ListSegmentsRequest) GetOffset() int32 {
if m != nil {
return m.Offset
}
return 0
}
type IrreparableSegment struct {
Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
SegmentDetail *Pointer `protobuf:"bytes,2,opt,name=segment_detail,json=segmentDetail,proto3" json:"segment_detail,omitempty"`
LostPieces int32 `protobuf:"varint,3,opt,name=lost_pieces,json=lostPieces,proto3" json:"lost_pieces,omitempty"`
LastRepairAttempt int64 `protobuf:"varint,4,opt,name=last_repair_attempt,json=lastRepairAttempt,proto3" json:"last_repair_attempt,omitempty"`
RepairAttemptCount int64 `protobuf:"varint,5,opt,name=repair_attempt_count,json=repairAttemptCount,proto3" json:"repair_attempt_count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *IrreparableSegment) Reset() { *m = IrreparableSegment{} }
func (m *IrreparableSegment) String() string { return proto.CompactTextString(m) }
func (*IrreparableSegment) ProtoMessage() {}
func (*IrreparableSegment) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{1}
}
func (m *IrreparableSegment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IrreparableSegment.Unmarshal(m, b)
}
func (m *IrreparableSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IrreparableSegment.Marshal(b, m, deterministic)
}
func (m *IrreparableSegment) XXX_Merge(src proto.Message) {
xxx_messageInfo_IrreparableSegment.Merge(m, src)
}
func (m *IrreparableSegment) XXX_Size() int {
return xxx_messageInfo_IrreparableSegment.Size(m)
}
func (m *IrreparableSegment) XXX_DiscardUnknown() {
xxx_messageInfo_IrreparableSegment.DiscardUnknown(m)
}
var xxx_messageInfo_IrreparableSegment proto.InternalMessageInfo
func (m *IrreparableSegment) GetPath() []byte {
if m != nil {
return m.Path
}
return nil
}
func (m *IrreparableSegment) GetSegmentDetail() *Pointer {
if m != nil {
return m.SegmentDetail
}
return nil
}
func (m *IrreparableSegment) GetLostPieces() int32 {
if m != nil {
return m.LostPieces
}
return 0
}
func (m *IrreparableSegment) GetLastRepairAttempt() int64 {
if m != nil {
return m.LastRepairAttempt
}
return 0
}
func (m *IrreparableSegment) GetRepairAttemptCount() int64 {
if m != nil {
return m.RepairAttemptCount
}
return 0
}
type ListSegmentsResponse struct {
Segments []*IrreparableSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListSegmentsResponse) Reset() { *m = ListSegmentsResponse{} }
func (m *ListSegmentsResponse) String() string { return proto.CompactTextString(m) }
func (*ListSegmentsResponse) ProtoMessage() {}
func (*ListSegmentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{2}
}
func (m *ListSegmentsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListSegmentsResponse.Unmarshal(m, b)
}
func (m *ListSegmentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListSegmentsResponse.Marshal(b, m, deterministic)
}
func (m *ListSegmentsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListSegmentsResponse.Merge(m, src)
}
func (m *ListSegmentsResponse) XXX_Size() int {
return xxx_messageInfo_ListSegmentsResponse.Size(m)
}
func (m *ListSegmentsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListSegmentsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListSegmentsResponse proto.InternalMessageInfo
func (m *ListSegmentsResponse) GetSegments() []*IrreparableSegment {
if m != nil {
return m.Segments
}
return nil
}
// GetStats // GetStats
type GetStatsRequest struct { type GetStatsRequest struct {
NodeId NodeID `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3,customtype=NodeID" json:"node_id"` NodeId NodeID `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3,customtype=NodeID" json:"node_id"`
@ -36,7 +191,7 @@ func (m *GetStatsRequest) Reset() { *m = GetStatsRequest{} }
func (m *GetStatsRequest) String() string { return proto.CompactTextString(m) } func (m *GetStatsRequest) String() string { return proto.CompactTextString(m) }
func (*GetStatsRequest) ProtoMessage() {} func (*GetStatsRequest) ProtoMessage() {}
func (*GetStatsRequest) Descriptor() ([]byte, []int) { func (*GetStatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{0} return fileDescriptor_a07d9034b2dd9d26, []int{3}
} }
func (m *GetStatsRequest) XXX_Unmarshal(b []byte) error { func (m *GetStatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetStatsRequest.Unmarshal(m, b) return xxx_messageInfo_GetStatsRequest.Unmarshal(m, b)
@ -70,7 +225,7 @@ func (m *GetStatsResponse) Reset() { *m = GetStatsResponse{} }
func (m *GetStatsResponse) String() string { return proto.CompactTextString(m) } func (m *GetStatsResponse) String() string { return proto.CompactTextString(m) }
func (*GetStatsResponse) ProtoMessage() {} func (*GetStatsResponse) ProtoMessage() {}
func (*GetStatsResponse) Descriptor() ([]byte, []int) { func (*GetStatsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{1} return fileDescriptor_a07d9034b2dd9d26, []int{4}
} }
func (m *GetStatsResponse) XXX_Unmarshal(b []byte) error { func (m *GetStatsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetStatsResponse.Unmarshal(m, b) return xxx_messageInfo_GetStatsResponse.Unmarshal(m, b)
@ -134,7 +289,7 @@ func (m *CreateStatsRequest) Reset() { *m = CreateStatsRequest{} }
func (m *CreateStatsRequest) String() string { return proto.CompactTextString(m) } func (m *CreateStatsRequest) String() string { return proto.CompactTextString(m) }
func (*CreateStatsRequest) ProtoMessage() {} func (*CreateStatsRequest) ProtoMessage() {}
func (*CreateStatsRequest) Descriptor() ([]byte, []int) { func (*CreateStatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{2} return fileDescriptor_a07d9034b2dd9d26, []int{5}
} }
func (m *CreateStatsRequest) XXX_Unmarshal(b []byte) error { func (m *CreateStatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateStatsRequest.Unmarshal(m, b) return xxx_messageInfo_CreateStatsRequest.Unmarshal(m, b)
@ -192,7 +347,7 @@ func (m *CreateStatsResponse) Reset() { *m = CreateStatsResponse{} }
func (m *CreateStatsResponse) String() string { return proto.CompactTextString(m) } func (m *CreateStatsResponse) String() string { return proto.CompactTextString(m) }
func (*CreateStatsResponse) ProtoMessage() {} func (*CreateStatsResponse) ProtoMessage() {}
func (*CreateStatsResponse) Descriptor() ([]byte, []int) { func (*CreateStatsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{3} return fileDescriptor_a07d9034b2dd9d26, []int{6}
} }
func (m *CreateStatsResponse) XXX_Unmarshal(b []byte) error { func (m *CreateStatsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateStatsResponse.Unmarshal(m, b) return xxx_messageInfo_CreateStatsResponse.Unmarshal(m, b)
@ -224,7 +379,7 @@ func (m *CountNodesResponse) Reset() { *m = CountNodesResponse{} }
func (m *CountNodesResponse) String() string { return proto.CompactTextString(m) } func (m *CountNodesResponse) String() string { return proto.CompactTextString(m) }
func (*CountNodesResponse) ProtoMessage() {} func (*CountNodesResponse) ProtoMessage() {}
func (*CountNodesResponse) Descriptor() ([]byte, []int) { func (*CountNodesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{4} return fileDescriptor_a07d9034b2dd9d26, []int{7}
} }
func (m *CountNodesResponse) XXX_Unmarshal(b []byte) error { func (m *CountNodesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CountNodesResponse.Unmarshal(m, b) return xxx_messageInfo_CountNodesResponse.Unmarshal(m, b)
@ -261,7 +416,7 @@ func (m *CountNodesRequest) Reset() { *m = CountNodesRequest{} }
func (m *CountNodesRequest) String() string { return proto.CompactTextString(m) } func (m *CountNodesRequest) String() string { return proto.CompactTextString(m) }
func (*CountNodesRequest) ProtoMessage() {} func (*CountNodesRequest) ProtoMessage() {}
func (*CountNodesRequest) Descriptor() ([]byte, []int) { func (*CountNodesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{5} return fileDescriptor_a07d9034b2dd9d26, []int{8}
} }
func (m *CountNodesRequest) XXX_Unmarshal(b []byte) error { func (m *CountNodesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CountNodesRequest.Unmarshal(m, b) return xxx_messageInfo_CountNodesRequest.Unmarshal(m, b)
@ -292,7 +447,7 @@ func (m *GetBucketsRequest) Reset() { *m = GetBucketsRequest{} }
func (m *GetBucketsRequest) String() string { return proto.CompactTextString(m) } func (m *GetBucketsRequest) String() string { return proto.CompactTextString(m) }
func (*GetBucketsRequest) ProtoMessage() {} func (*GetBucketsRequest) ProtoMessage() {}
func (*GetBucketsRequest) Descriptor() ([]byte, []int) { func (*GetBucketsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{6} return fileDescriptor_a07d9034b2dd9d26, []int{9}
} }
func (m *GetBucketsRequest) XXX_Unmarshal(b []byte) error { func (m *GetBucketsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketsRequest.Unmarshal(m, b) return xxx_messageInfo_GetBucketsRequest.Unmarshal(m, b)
@ -324,7 +479,7 @@ func (m *GetBucketsResponse) Reset() { *m = GetBucketsResponse{} }
func (m *GetBucketsResponse) String() string { return proto.CompactTextString(m) } func (m *GetBucketsResponse) String() string { return proto.CompactTextString(m) }
func (*GetBucketsResponse) ProtoMessage() {} func (*GetBucketsResponse) ProtoMessage() {}
func (*GetBucketsResponse) Descriptor() ([]byte, []int) { func (*GetBucketsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{7} return fileDescriptor_a07d9034b2dd9d26, []int{10}
} }
func (m *GetBucketsResponse) XXX_Unmarshal(b []byte) error { func (m *GetBucketsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketsResponse.Unmarshal(m, b) return xxx_messageInfo_GetBucketsResponse.Unmarshal(m, b)
@ -363,7 +518,7 @@ func (m *GetBucketRequest) Reset() { *m = GetBucketRequest{} }
func (m *GetBucketRequest) String() string { return proto.CompactTextString(m) } func (m *GetBucketRequest) String() string { return proto.CompactTextString(m) }
func (*GetBucketRequest) ProtoMessage() {} func (*GetBucketRequest) ProtoMessage() {}
func (*GetBucketRequest) Descriptor() ([]byte, []int) { func (*GetBucketRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{8} return fileDescriptor_a07d9034b2dd9d26, []int{11}
} }
func (m *GetBucketRequest) XXX_Unmarshal(b []byte) error { func (m *GetBucketRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketRequest.Unmarshal(m, b) return xxx_messageInfo_GetBucketRequest.Unmarshal(m, b)
@ -395,7 +550,7 @@ func (m *GetBucketResponse) Reset() { *m = GetBucketResponse{} }
func (m *GetBucketResponse) String() string { return proto.CompactTextString(m) } func (m *GetBucketResponse) String() string { return proto.CompactTextString(m) }
func (*GetBucketResponse) ProtoMessage() {} func (*GetBucketResponse) ProtoMessage() {}
func (*GetBucketResponse) Descriptor() ([]byte, []int) { func (*GetBucketResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{9} return fileDescriptor_a07d9034b2dd9d26, []int{12}
} }
func (m *GetBucketResponse) XXX_Unmarshal(b []byte) error { func (m *GetBucketResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketResponse.Unmarshal(m, b) return xxx_messageInfo_GetBucketResponse.Unmarshal(m, b)
@ -433,7 +588,7 @@ func (m *Bucket) Reset() { *m = Bucket{} }
func (m *Bucket) String() string { return proto.CompactTextString(m) } func (m *Bucket) String() string { return proto.CompactTextString(m) }
func (*Bucket) ProtoMessage() {} func (*Bucket) ProtoMessage() {}
func (*Bucket) Descriptor() ([]byte, []int) { func (*Bucket) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{10} return fileDescriptor_a07d9034b2dd9d26, []int{13}
} }
func (m *Bucket) XXX_Unmarshal(b []byte) error { func (m *Bucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Bucket.Unmarshal(m, b) return xxx_messageInfo_Bucket.Unmarshal(m, b)
@ -471,7 +626,7 @@ func (m *BucketList) Reset() { *m = BucketList{} }
func (m *BucketList) String() string { return proto.CompactTextString(m) } func (m *BucketList) String() string { return proto.CompactTextString(m) }
func (*BucketList) ProtoMessage() {} func (*BucketList) ProtoMessage() {}
func (*BucketList) Descriptor() ([]byte, []int) { func (*BucketList) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{11} return fileDescriptor_a07d9034b2dd9d26, []int{14}
} }
func (m *BucketList) XXX_Unmarshal(b []byte) error { func (m *BucketList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BucketList.Unmarshal(m, b) return xxx_messageInfo_BucketList.Unmarshal(m, b)
@ -511,7 +666,7 @@ func (m *PingNodeRequest) Reset() { *m = PingNodeRequest{} }
func (m *PingNodeRequest) String() string { return proto.CompactTextString(m) } func (m *PingNodeRequest) String() string { return proto.CompactTextString(m) }
func (*PingNodeRequest) ProtoMessage() {} func (*PingNodeRequest) ProtoMessage() {}
func (*PingNodeRequest) Descriptor() ([]byte, []int) { func (*PingNodeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{12} return fileDescriptor_a07d9034b2dd9d26, []int{15}
} }
func (m *PingNodeRequest) XXX_Unmarshal(b []byte) error { func (m *PingNodeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PingNodeRequest.Unmarshal(m, b) return xxx_messageInfo_PingNodeRequest.Unmarshal(m, b)
@ -549,7 +704,7 @@ func (m *PingNodeResponse) Reset() { *m = PingNodeResponse{} }
func (m *PingNodeResponse) String() string { return proto.CompactTextString(m) } func (m *PingNodeResponse) String() string { return proto.CompactTextString(m) }
func (*PingNodeResponse) ProtoMessage() {} func (*PingNodeResponse) ProtoMessage() {}
func (*PingNodeResponse) Descriptor() ([]byte, []int) { func (*PingNodeResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{13} return fileDescriptor_a07d9034b2dd9d26, []int{16}
} }
func (m *PingNodeResponse) XXX_Unmarshal(b []byte) error { func (m *PingNodeResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PingNodeResponse.Unmarshal(m, b) return xxx_messageInfo_PingNodeResponse.Unmarshal(m, b)
@ -588,7 +743,7 @@ func (m *LookupNodeRequest) Reset() { *m = LookupNodeRequest{} }
func (m *LookupNodeRequest) String() string { return proto.CompactTextString(m) } func (m *LookupNodeRequest) String() string { return proto.CompactTextString(m) }
func (*LookupNodeRequest) ProtoMessage() {} func (*LookupNodeRequest) ProtoMessage() {}
func (*LookupNodeRequest) Descriptor() ([]byte, []int) { func (*LookupNodeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{14} return fileDescriptor_a07d9034b2dd9d26, []int{17}
} }
func (m *LookupNodeRequest) XXX_Unmarshal(b []byte) error { func (m *LookupNodeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupNodeRequest.Unmarshal(m, b) return xxx_messageInfo_LookupNodeRequest.Unmarshal(m, b)
@ -634,7 +789,7 @@ func (m *LookupNodeResponse) Reset() { *m = LookupNodeResponse{} }
func (m *LookupNodeResponse) String() string { return proto.CompactTextString(m) } func (m *LookupNodeResponse) String() string { return proto.CompactTextString(m) }
func (*LookupNodeResponse) ProtoMessage() {} func (*LookupNodeResponse) ProtoMessage() {}
func (*LookupNodeResponse) Descriptor() ([]byte, []int) { func (*LookupNodeResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{15} return fileDescriptor_a07d9034b2dd9d26, []int{18}
} }
func (m *LookupNodeResponse) XXX_Unmarshal(b []byte) error { func (m *LookupNodeResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupNodeResponse.Unmarshal(m, b) return xxx_messageInfo_LookupNodeResponse.Unmarshal(m, b)
@ -680,7 +835,7 @@ func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) } func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {} func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) { func (*NodeInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{16} return fileDescriptor_a07d9034b2dd9d26, []int{19}
} }
func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error { func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfoRequest.Unmarshal(m, b) return xxx_messageInfo_NodeInfoRequest.Unmarshal(m, b)
@ -720,7 +875,7 @@ func (m *NodeInfoResponse) Reset() { *m = NodeInfoResponse{} }
func (m *NodeInfoResponse) String() string { return proto.CompactTextString(m) } func (m *NodeInfoResponse) String() string { return proto.CompactTextString(m) }
func (*NodeInfoResponse) ProtoMessage() {} func (*NodeInfoResponse) ProtoMessage() {}
func (*NodeInfoResponse) Descriptor() ([]byte, []int) { func (*NodeInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{17} return fileDescriptor_a07d9034b2dd9d26, []int{20}
} }
func (m *NodeInfoResponse) XXX_Unmarshal(b []byte) error { func (m *NodeInfoResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfoResponse.Unmarshal(m, b) return xxx_messageInfo_NodeInfoResponse.Unmarshal(m, b)
@ -774,7 +929,7 @@ func (m *FindNearRequest) Reset() { *m = FindNearRequest{} }
func (m *FindNearRequest) String() string { return proto.CompactTextString(m) } func (m *FindNearRequest) String() string { return proto.CompactTextString(m) }
func (*FindNearRequest) ProtoMessage() {} func (*FindNearRequest) ProtoMessage() {}
func (*FindNearRequest) Descriptor() ([]byte, []int) { func (*FindNearRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{18} return fileDescriptor_a07d9034b2dd9d26, []int{21}
} }
func (m *FindNearRequest) XXX_Unmarshal(b []byte) error { func (m *FindNearRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FindNearRequest.Unmarshal(m, b) return xxx_messageInfo_FindNearRequest.Unmarshal(m, b)
@ -812,7 +967,7 @@ func (m *FindNearResponse) Reset() { *m = FindNearResponse{} }
func (m *FindNearResponse) String() string { return proto.CompactTextString(m) } func (m *FindNearResponse) String() string { return proto.CompactTextString(m) }
func (*FindNearResponse) ProtoMessage() {} func (*FindNearResponse) ProtoMessage() {}
func (*FindNearResponse) Descriptor() ([]byte, []int) { func (*FindNearResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{19} return fileDescriptor_a07d9034b2dd9d26, []int{22}
} }
func (m *FindNearResponse) XXX_Unmarshal(b []byte) error { func (m *FindNearResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FindNearResponse.Unmarshal(m, b) return xxx_messageInfo_FindNearResponse.Unmarshal(m, b)
@ -849,7 +1004,7 @@ func (m *DumpNodesRequest) Reset() { *m = DumpNodesRequest{} }
func (m *DumpNodesRequest) String() string { return proto.CompactTextString(m) } func (m *DumpNodesRequest) String() string { return proto.CompactTextString(m) }
func (*DumpNodesRequest) ProtoMessage() {} func (*DumpNodesRequest) ProtoMessage() {}
func (*DumpNodesRequest) Descriptor() ([]byte, []int) { func (*DumpNodesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{20} return fileDescriptor_a07d9034b2dd9d26, []int{23}
} }
func (m *DumpNodesRequest) XXX_Unmarshal(b []byte) error { func (m *DumpNodesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DumpNodesRequest.Unmarshal(m, b) return xxx_messageInfo_DumpNodesRequest.Unmarshal(m, b)
@ -880,7 +1035,7 @@ func (m *DumpNodesResponse) Reset() { *m = DumpNodesResponse{} }
func (m *DumpNodesResponse) String() string { return proto.CompactTextString(m) } func (m *DumpNodesResponse) String() string { return proto.CompactTextString(m) }
func (*DumpNodesResponse) ProtoMessage() {} func (*DumpNodesResponse) ProtoMessage() {}
func (*DumpNodesResponse) Descriptor() ([]byte, []int) { func (*DumpNodesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{21} return fileDescriptor_a07d9034b2dd9d26, []int{24}
} }
func (m *DumpNodesResponse) XXX_Unmarshal(b []byte) error { func (m *DumpNodesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DumpNodesResponse.Unmarshal(m, b) return xxx_messageInfo_DumpNodesResponse.Unmarshal(m, b)
@ -917,7 +1072,7 @@ func (m *StatsRequest) Reset() { *m = StatsRequest{} }
func (m *StatsRequest) String() string { return proto.CompactTextString(m) } func (m *StatsRequest) String() string { return proto.CompactTextString(m) }
func (*StatsRequest) ProtoMessage() {} func (*StatsRequest) ProtoMessage() {}
func (*StatsRequest) Descriptor() ([]byte, []int) { func (*StatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{22} return fileDescriptor_a07d9034b2dd9d26, []int{25}
} }
func (m *StatsRequest) XXX_Unmarshal(b []byte) error { func (m *StatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatsRequest.Unmarshal(m, b) return xxx_messageInfo_StatsRequest.Unmarshal(m, b)
@ -951,7 +1106,7 @@ func (m *StatSummaryResponse) Reset() { *m = StatSummaryResponse{} }
func (m *StatSummaryResponse) String() string { return proto.CompactTextString(m) } func (m *StatSummaryResponse) String() string { return proto.CompactTextString(m) }
func (*StatSummaryResponse) ProtoMessage() {} func (*StatSummaryResponse) ProtoMessage() {}
func (*StatSummaryResponse) Descriptor() ([]byte, []int) { func (*StatSummaryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{23} return fileDescriptor_a07d9034b2dd9d26, []int{26}
} }
func (m *StatSummaryResponse) XXX_Unmarshal(b []byte) error { func (m *StatSummaryResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatSummaryResponse.Unmarshal(m, b) return xxx_messageInfo_StatSummaryResponse.Unmarshal(m, b)
@ -1009,7 +1164,7 @@ func (m *DashboardRequest) Reset() { *m = DashboardRequest{} }
func (m *DashboardRequest) String() string { return proto.CompactTextString(m) } func (m *DashboardRequest) String() string { return proto.CompactTextString(m) }
func (*DashboardRequest) ProtoMessage() {} func (*DashboardRequest) ProtoMessage() {}
func (*DashboardRequest) Descriptor() ([]byte, []int) { func (*DashboardRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{24} return fileDescriptor_a07d9034b2dd9d26, []int{27}
} }
func (m *DashboardRequest) XXX_Unmarshal(b []byte) error { func (m *DashboardRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DashboardRequest.Unmarshal(m, b) return xxx_messageInfo_DashboardRequest.Unmarshal(m, b)
@ -1047,7 +1202,7 @@ func (m *DashboardResponse) Reset() { *m = DashboardResponse{} }
func (m *DashboardResponse) String() string { return proto.CompactTextString(m) } func (m *DashboardResponse) String() string { return proto.CompactTextString(m) }
func (*DashboardResponse) ProtoMessage() {} func (*DashboardResponse) ProtoMessage() {}
func (*DashboardResponse) Descriptor() ([]byte, []int) { func (*DashboardResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a07d9034b2dd9d26, []int{25} return fileDescriptor_a07d9034b2dd9d26, []int{28}
} }
func (m *DashboardResponse) XXX_Unmarshal(b []byte) error { func (m *DashboardResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DashboardResponse.Unmarshal(m, b) return xxx_messageInfo_DashboardResponse.Unmarshal(m, b)
@ -1124,6 +1279,9 @@ func (m *DashboardResponse) GetUptime() *duration.Duration {
} }
func init() { func init() {
proto.RegisterType((*ListSegmentsRequest)(nil), "inspector.ListSegmentsRequest")
proto.RegisterType((*IrreparableSegment)(nil), "inspector.IrreparableSegment")
proto.RegisterType((*ListSegmentsResponse)(nil), "inspector.ListSegmentsResponse")
proto.RegisterType((*GetStatsRequest)(nil), "inspector.GetStatsRequest") proto.RegisterType((*GetStatsRequest)(nil), "inspector.GetStatsRequest")
proto.RegisterType((*GetStatsResponse)(nil), "inspector.GetStatsResponse") proto.RegisterType((*GetStatsResponse)(nil), "inspector.GetStatsResponse")
proto.RegisterType((*CreateStatsRequest)(nil), "inspector.CreateStatsRequest") proto.RegisterType((*CreateStatsRequest)(nil), "inspector.CreateStatsRequest")
@ -1155,76 +1313,89 @@ func init() {
func init() { proto.RegisterFile("inspector.proto", fileDescriptor_a07d9034b2dd9d26) } func init() { proto.RegisterFile("inspector.proto", fileDescriptor_a07d9034b2dd9d26) }
var fileDescriptor_a07d9034b2dd9d26 = []byte{ var fileDescriptor_a07d9034b2dd9d26 = []byte{
// 1099 bytes of a gzipped FileDescriptorProto // 1300 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x6e, 0x1b, 0x45, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0xae, 0xdb, 0x44,
0x14, 0xce, 0xfa, 0x2f, 0xf6, 0x71, 0xf0, 0xcf, 0xb8, 0xa8, 0xc6, 0xa4, 0x49, 0x18, 0x01, 0x0d, 0x14, 0xae, 0xf3, 0xd7, 0xe4, 0x24, 0xcd, 0xcf, 0x24, 0xd0, 0x10, 0xda, 0x7b, 0x2f, 0x16, 0xd0,
0xad, 0xe4, 0x80, 0x29, 0x37, 0x48, 0x5c, 0x60, 0x47, 0x6d, 0xa3, 0x86, 0xb6, 0xda, 0xc0, 0x0d, 0x4b, 0x2b, 0xa5, 0x25, 0x94, 0x45, 0x91, 0x58, 0x34, 0xb9, 0x6a, 0x1b, 0xb5, 0xb4, 0xc5, 0x81,
0x42, 0x44, 0xe3, 0xdd, 0xa9, 0xbb, 0x8a, 0xbd, 0xb3, 0xec, 0xce, 0x16, 0xfc, 0x22, 0x5c, 0x70, 0x0d, 0x42, 0x44, 0x93, 0x78, 0x6e, 0x6a, 0xdd, 0xc4, 0x63, 0x3c, 0xe3, 0xc2, 0x7d, 0x11, 0x16,
0x0b, 0x3c, 0x02, 0x57, 0xbc, 0x00, 0xcf, 0xc0, 0x45, 0x6f, 0xfa, 0x22, 0x68, 0x7e, 0x76, 0x67, 0x6c, 0x81, 0x47, 0x60, 0xc5, 0x0b, 0xf0, 0x0c, 0x2c, 0xba, 0xa9, 0xc4, 0x73, 0xa0, 0xf9, 0xb1,
0x7f, 0x6c, 0x25, 0x42, 0x70, 0xb7, 0xfb, 0x9d, 0x6f, 0xbe, 0x39, 0xe7, 0xcc, 0xcc, 0x37, 0x03, 0xc7, 0x76, 0x12, 0xf5, 0x0a, 0xc1, 0xce, 0xf3, 0x7d, 0x9f, 0xbf, 0x39, 0xe7, 0xcc, 0xf8, 0xcc,
0x5d, 0xcf, 0x8f, 0x02, 0xea, 0x70, 0x16, 0x8e, 0x83, 0x90, 0x71, 0x86, 0x5a, 0x29, 0x30, 0x82, 0x18, 0x5a, 0x9e, 0xcf, 0x02, 0xb2, 0xe4, 0x34, 0x1c, 0x06, 0x21, 0xe5, 0x14, 0xd5, 0x12, 0x60,
0x05, 0x5b, 0x30, 0x05, 0x8f, 0xc0, 0x67, 0x2e, 0xd5, 0xdf, 0x07, 0x0b, 0xc6, 0x16, 0x4b, 0x7a, 0x00, 0x2b, 0xba, 0xa2, 0x0a, 0x1e, 0x80, 0x4f, 0x5d, 0xa2, 0x9f, 0x5b, 0x01, 0xf5, 0x7c, 0x4e,
0x22, 0xff, 0xe6, 0xf1, 0x8b, 0x13, 0x37, 0x0e, 0x09, 0xf7, 0x98, 0xaf, 0xe2, 0xf8, 0x73, 0xe8, 0x42, 0x77, 0xa1, 0x81, 0x83, 0x15, 0xa5, 0xab, 0x35, 0xb9, 0x2d, 0x47, 0x8b, 0xe8, 0xf4, 0xb6,
0x3e, 0xa2, 0xfc, 0x82, 0x13, 0x1e, 0xd9, 0xf4, 0x87, 0x98, 0x46, 0x1c, 0xdd, 0x85, 0x5d, 0x21, 0x1b, 0x85, 0x98, 0x7b, 0xd4, 0x57, 0xbc, 0x3d, 0x81, 0xee, 0x13, 0x8f, 0xf1, 0x19, 0x59, 0x6d,
0x70, 0xe9, 0xb9, 0x43, 0xeb, 0xc8, 0x3a, 0xde, 0x9b, 0x76, 0xfe, 0x7a, 0x7d, 0xb8, 0xf3, 0xf7, 0x88, 0xcf, 0x99, 0x43, 0xbe, 0x8f, 0x08, 0xe3, 0xa8, 0x07, 0xe5, 0xb5, 0xb7, 0xf1, 0x78, 0xdf,
0xeb, 0xc3, 0xc6, 0x53, 0xe6, 0xd2, 0xb3, 0x53, 0xbb, 0x21, 0xc2, 0x67, 0x2e, 0xfe, 0xc5, 0x82, 0x3a, 0xb2, 0x8e, 0xcb, 0x8e, 0x1a, 0xa0, 0xb7, 0xa1, 0x42, 0x4f, 0x4f, 0x19, 0xe1, 0xfd, 0x82,
0x9e, 0x19, 0x1c, 0x05, 0xcc, 0x8f, 0x28, 0x3a, 0x84, 0x36, 0x89, 0x5d, 0x8f, 0x5f, 0x3a, 0x2c, 0x84, 0xf5, 0xc8, 0xfe, 0xdb, 0x02, 0x34, 0x0d, 0x43, 0x12, 0xe0, 0x10, 0x2f, 0xd6, 0x44, 0x9b,
0xf6, 0xb9, 0x54, 0xa8, 0xda, 0x20, 0xa1, 0x99, 0x40, 0x0c, 0x41, 0xe6, 0x31, 0xac, 0x1c, 0x59, 0x21, 0x04, 0xa5, 0x00, 0xf3, 0x17, 0xd2, 0xa3, 0xe1, 0xc8, 0x67, 0x74, 0x0f, 0x9a, 0x4c, 0xd1,
0xc7, 0x96, 0x26, 0xd8, 0x02, 0x41, 0xef, 0xc1, 0x5e, 0x1c, 0x70, 0x6f, 0x45, 0xb5, 0x44, 0x55, 0x73, 0x97, 0x70, 0xec, 0xad, 0xa5, 0x55, 0x7d, 0x84, 0x86, 0x26, 0xf2, 0xe7, 0xea, 0xc9, 0xb9,
0x4a, 0xb4, 0x15, 0xa6, 0x34, 0x0c, 0x45, 0x89, 0xd4, 0xa4, 0x88, 0xa6, 0x48, 0x15, 0xfc, 0xc6, 0xa2, 0x95, 0x27, 0x52, 0x88, 0x0e, 0xa1, 0xbe, 0xa6, 0x8c, 0xcf, 0x03, 0x8f, 0x2c, 0x09, 0xeb,
0x02, 0x34, 0x0b, 0x29, 0xe1, 0xf4, 0x5f, 0x15, 0x57, 0xac, 0xa3, 0x52, 0xaa, 0x63, 0x0c, 0x03, 0x17, 0x65, 0x08, 0x20, 0xa0, 0xe7, 0x12, 0x41, 0x43, 0xe8, 0xae, 0x31, 0xe3, 0x73, 0x11, 0x88,
0x45, 0x88, 0x62, 0xc7, 0xa1, 0x51, 0x94, 0xcb, 0xb6, 0x2f, 0x43, 0x17, 0x2a, 0x52, 0xcc, 0x59, 0x17, 0xce, 0x31, 0xe7, 0x64, 0x13, 0xf0, 0x7e, 0xe9, 0xc8, 0x3a, 0x2e, 0x3a, 0x1d, 0x41, 0x39,
0x11, 0x6b, 0xe5, 0xb2, 0x3e, 0x86, 0x5b, 0x9a, 0x92, 0xd7, 0xac, 0x4b, 0x2a, 0x52, 0xb1, 0xac, 0x92, 0xb9, 0xaf, 0x08, 0x74, 0x07, 0x7a, 0x59, 0xe9, 0x7c, 0x49, 0x23, 0x9f, 0xf7, 0xcb, 0xf2,
0x28, 0x7e, 0x1b, 0x06, 0xb9, 0x22, 0xd5, 0x22, 0xe0, 0x7b, 0x80, 0x64, 0x5c, 0xd4, 0x64, 0x96, 0x05, 0x14, 0xa6, 0xc5, 0x13, 0xc1, 0xd8, 0x5f, 0x42, 0x2f, 0x5b, 0x2d, 0x16, 0x50, 0x9f, 0x11,
0xe6, 0x16, 0xd4, 0xb3, 0x8b, 0xa2, 0x7e, 0xf0, 0x00, 0xfa, 0x59, 0xae, 0x6c, 0x93, 0x00, 0x1f, 0x74, 0x0f, 0xaa, 0x3a, 0x56, 0xd6, 0xb7, 0x8e, 0x8a, 0xc7, 0xf5, 0xd1, 0xf5, 0xa1, 0x59, 0xbd,
0x51, 0x3e, 0x8d, 0x9d, 0x2b, 0x9a, 0xf6, 0x0e, 0x3f, 0x06, 0x94, 0x05, 0x8d, 0x2a, 0x67, 0x9c, 0xed, 0xd2, 0x38, 0x89, 0xdc, 0xfe, 0x0c, 0x5a, 0x0f, 0x09, 0x9f, 0x71, 0x6c, 0x8a, 0x7f, 0x03,
0x2c, 0x13, 0x55, 0xf9, 0x83, 0xf6, 0xa1, 0xea, 0xb9, 0xd1, 0xb0, 0x72, 0x54, 0x3d, 0xde, 0x9b, 0x2e, 0x8b, 0x25, 0x9d, 0x7b, 0xae, 0x2a, 0xdd, 0xb8, 0xf9, 0xe7, 0xab, 0xc3, 0x4b, 0x7f, 0xbd,
0x42, 0xa6, 0xbf, 0x02, 0xc6, 0x13, 0xb9, 0x71, 0x94, 0x52, 0xb2, 0x32, 0x07, 0x50, 0xd9, 0xba, 0x3a, 0xac, 0x3c, 0xa5, 0x2e, 0x99, 0x9e, 0x38, 0x15, 0x41, 0x4f, 0x5d, 0xfb, 0x67, 0x0b, 0xda,
0x28, 0x15, 0xcf, 0xc5, 0xdf, 0x64, 0x52, 0x4a, 0x27, 0xbf, 0x66, 0x10, 0x3a, 0x82, 0xba, 0x58, 0xe6, 0x65, 0x1d, 0xcb, 0x21, 0xd4, 0x71, 0xe4, 0x7a, 0x71, 0x32, 0x96, 0x4c, 0x06, 0x24, 0x24,
0x4f, 0x95, 0x48, 0x7b, 0x02, 0x63, 0x79, 0x34, 0x04, 0xc1, 0x56, 0x01, 0x7c, 0x0f, 0x1a, 0x4a, 0x93, 0x30, 0x02, 0xb9, 0x11, 0x64, 0xfd, 0x2d, 0x2d, 0x70, 0x04, 0x82, 0xde, 0x83, 0x46, 0x14,
0xf3, 0x06, 0xdc, 0x31, 0x80, 0xe2, 0x9e, 0x7b, 0x51, 0x86, 0x6f, 0x6d, 0xe3, 0x3f, 0x81, 0xee, 0x70, 0x6f, 0x43, 0xb4, 0x45, 0x51, 0x5a, 0xd4, 0x15, 0xa6, 0x3c, 0x8c, 0x44, 0x99, 0x94, 0xa4,
0x73, 0xcf, 0x5f, 0x48, 0xe8, 0x66, 0x55, 0xa2, 0x21, 0xec, 0x12, 0xd7, 0x0d, 0x69, 0x14, 0xc9, 0x89, 0x96, 0x48, 0x17, 0xfb, 0xb5, 0x05, 0x68, 0x12, 0x12, 0xcc, 0xc9, 0xbf, 0x4a, 0x2e, 0x9f,
0x2d, 0xd7, 0xb2, 0x93, 0x5f, 0x8c, 0xa1, 0x67, 0xc4, 0x74, 0xf9, 0x1d, 0xa8, 0xb0, 0x2b, 0xa9, 0x47, 0x61, 0x2b, 0x8f, 0x21, 0x74, 0x95, 0x80, 0x45, 0xcb, 0x25, 0x61, 0x2c, 0x13, 0x6d, 0x47,
0xd6, 0xb4, 0x2b, 0xec, 0x0a, 0x7f, 0x01, 0xfd, 0x73, 0xc6, 0xae, 0xe2, 0x20, 0x3b, 0x65, 0x27, 0x52, 0x33, 0xc5, 0xe4, 0x63, 0x56, 0xc2, 0xd2, 0x76, 0x5a, 0x77, 0xa0, 0xa7, 0x25, 0x59, 0x4f,
0x9d, 0xb2, 0x75, 0xcd, 0x14, 0xdf, 0x01, 0xca, 0x0e, 0x4f, 0x7b, 0x5c, 0x13, 0xe5, 0x48, 0x85, 0xbd, 0x23, 0x14, 0x97, 0x36, 0xb5, 0xdf, 0x82, 0x6e, 0x26, 0x49, 0xb5, 0x08, 0xf6, 0x4d, 0x40,
0x7c, 0x99, 0x12, 0x47, 0x1f, 0x42, 0x6d, 0x45, 0x39, 0x91, 0x62, 0xed, 0x09, 0x32, 0xf1, 0xaf, 0x92, 0x17, 0x39, 0x99, 0xa5, 0xe9, 0x41, 0x39, 0xbd, 0x28, 0x6a, 0x60, 0x77, 0xa1, 0x93, 0xd6,
0x28, 0x27, 0x2e, 0xe1, 0xc4, 0x96, 0x71, 0xfc, 0x3d, 0x74, 0x65, 0xa1, 0xfe, 0x0b, 0x76, 0xd3, 0xca, 0x32, 0x09, 0xf0, 0x21, 0xe1, 0xe3, 0x68, 0x79, 0x46, 0x92, 0xda, 0xd9, 0x8f, 0x00, 0xa5,
0x6e, 0xdc, 0xcf, 0xa7, 0xda, 0x9e, 0xf4, 0x8d, 0xfa, 0x97, 0x2a, 0x60, 0xb2, 0xff, 0xd9, 0x82, 0x41, 0xe3, 0xca, 0x29, 0xc7, 0xeb, 0xd8, 0x55, 0x0e, 0xd0, 0x35, 0x28, 0x7a, 0x2e, 0xeb, 0x17,
0x9e, 0x99, 0x40, 0x27, 0x8f, 0xa1, 0xc6, 0xd7, 0x81, 0x4a, 0xbe, 0x33, 0xe9, 0x98, 0xe1, 0x5f, 0x8e, 0x8a, 0xc7, 0x8d, 0x31, 0xa4, 0xea, 0x2b, 0x60, 0x7b, 0x24, 0x37, 0x8e, 0x72, 0x8a, 0x57,
0xaf, 0x03, 0x6a, 0xcb, 0x18, 0x1a, 0x43, 0x93, 0x05, 0x34, 0x24, 0x9c, 0x85, 0xe5, 0x22, 0x9e, 0xe6, 0x00, 0x0a, 0x7b, 0x17, 0xa5, 0xe0, 0xb9, 0xf6, 0xd7, 0xa9, 0x90, 0x92, 0xc9, 0xdf, 0xf0,
0xe9, 0x88, 0x9d, 0x72, 0x04, 0xdf, 0x21, 0x01, 0x71, 0x3c, 0xbe, 0x96, 0xc7, 0x3d, 0xc7, 0x9f, 0x12, 0x3a, 0x82, 0xb2, 0x58, 0x4f, 0x15, 0x48, 0x7d, 0x04, 0x43, 0xd9, 0xac, 0x84, 0xc0, 0x51,
0xe9, 0x88, 0x9d, 0x72, 0xf0, 0x0a, 0xba, 0x0f, 0x3d, 0xdf, 0x7d, 0x4a, 0x49, 0x78, 0xd3, 0xc2, 0x84, 0x7d, 0x13, 0x2a, 0xca, 0xf3, 0x02, 0xda, 0x21, 0x80, 0xd2, 0x8a, 0xaf, 0xd0, 0xe8, 0xad,
0xdf, 0x87, 0x7a, 0xc4, 0x49, 0xa8, 0x7c, 0xa7, 0x4c, 0x51, 0x41, 0x71, 0xf4, 0x96, 0xde, 0xca, 0x7d, 0xfa, 0xc7, 0xd0, 0x7a, 0xee, 0xf9, 0x2b, 0x09, 0x5d, 0x2c, 0x4b, 0xd4, 0x87, 0xcb, 0xd8,
0x4b, 0x4c, 0x47, 0xfd, 0xe0, 0x07, 0xd0, 0x33, 0xd3, 0xe9, 0x36, 0x5c, 0xbf, 0xb7, 0x11, 0xf4, 0x75, 0x43, 0xc2, 0x98, 0xdc, 0x72, 0x35, 0x27, 0x1e, 0xda, 0x36, 0xb4, 0x8d, 0x99, 0x4e, 0xbf,
0x4e, 0xe3, 0x55, 0x90, 0x73, 0x81, 0xcf, 0xa0, 0x9f, 0xc1, 0x8a, 0x52, 0x5b, 0xb7, 0x7d, 0x07, 0x09, 0x05, 0x7a, 0x26, 0xdd, 0xaa, 0x4e, 0x81, 0x9e, 0xd9, 0x9f, 0x43, 0xe7, 0x09, 0xa5, 0x67,
0xf6, 0xb2, 0x9e, 0x8b, 0xff, 0xb0, 0x60, 0x20, 0x80, 0x8b, 0x78, 0xb5, 0x22, 0xe1, 0x3a, 0x55, 0x51, 0x90, 0x9e, 0xb2, 0x99, 0x4c, 0x59, 0x7b, 0xc3, 0x14, 0xdf, 0x02, 0x4a, 0xbf, 0x9e, 0xd4,
0xba, 0x03, 0x10, 0x47, 0xd4, 0xbd, 0x8c, 0x02, 0xe2, 0x50, 0x6d, 0x1f, 0x2d, 0x81, 0x5c, 0x08, 0xb8, 0x24, 0xd2, 0x91, 0x0e, 0xd9, 0x34, 0x25, 0x8e, 0x3e, 0x84, 0xd2, 0x86, 0x70, 0x9c, 0x74,
0x00, 0xdd, 0x85, 0x2e, 0x79, 0x45, 0xbc, 0x25, 0x99, 0x2f, 0xa9, 0xe6, 0x28, 0x17, 0xee, 0xa4, 0xd2, 0x84, 0xff, 0x82, 0x70, 0xec, 0x62, 0x8e, 0x1d, 0xc9, 0xdb, 0xdf, 0x41, 0x4b, 0x26, 0xea,
0xb0, 0x22, 0x7e, 0x00, 0x1d, 0xa9, 0x33, 0x27, 0xbe, 0xfb, 0xa3, 0xe7, 0xf2, 0x97, 0xba, 0x1f, 0x9f, 0xd2, 0x8b, 0x56, 0xe3, 0x56, 0x36, 0xd4, 0xfa, 0xa8, 0x63, 0xdc, 0xef, 0x2b, 0xc2, 0x44,
0x6f, 0x09, 0x74, 0x9a, 0x80, 0xe8, 0x04, 0x06, 0x46, 0xcf, 0x70, 0x95, 0x0f, 0xa3, 0x34, 0x94, 0xff, 0x93, 0x05, 0x6d, 0x33, 0x81, 0x0e, 0xde, 0x86, 0x12, 0x3f, 0x0f, 0x54, 0xf0, 0xcd, 0x51,
0x0e, 0x90, 0x2d, 0x21, 0xd1, 0xcb, 0x39, 0x23, 0xa1, 0x9b, 0xd4, 0xf2, 0xa6, 0x02, 0xfd, 0x0c, 0xd3, 0xbc, 0xfe, 0xd5, 0x79, 0x40, 0x1c, 0xc9, 0xa1, 0x21, 0x54, 0x69, 0x40, 0x42, 0xcc, 0x69,
0xa8, 0x2b, 0xb9, 0x9d, 0xbf, 0x55, 0x5a, 0xe9, 0x2d, 0xf2, 0x11, 0xf4, 0x64, 0xc0, 0x61, 0xbe, 0xb8, 0x9d, 0xc4, 0x33, 0xcd, 0x38, 0x89, 0x46, 0xe8, 0x97, 0x38, 0xc0, 0x4b, 0x8f, 0x9f, 0xcb,
0x4f, 0x1d, 0x71, 0xef, 0x46, 0xba, 0x88, 0xae, 0xc0, 0x67, 0x06, 0x46, 0xf7, 0xa1, 0x3f, 0x67, 0xcf, 0x3d, 0xa3, 0x9f, 0x68, 0xc6, 0x49, 0x34, 0xf6, 0x06, 0x5a, 0x0f, 0x3c, 0xdf, 0x7d, 0x4a,
0x8c, 0x47, 0x3c, 0x24, 0xc1, 0x65, 0xb2, 0xeb, 0xab, 0x52, 0xad, 0x97, 0x06, 0xf4, 0xa6, 0x17, 0x70, 0x78, 0xd1, 0xc4, 0xdf, 0x87, 0x32, 0xe3, 0x38, 0x54, 0x7d, 0x67, 0x5b, 0xa2, 0x48, 0x73,
0xba, 0x9e, 0xcf, 0x69, 0xe8, 0x93, 0x65, 0xca, 0xad, 0x49, 0x6e, 0x37, 0xc1, 0x33, 0x54, 0xfa, 0x4c, 0xaa, 0xa6, 0xa3, 0x06, 0xf6, 0x5d, 0x68, 0x9b, 0xe9, 0x74, 0x19, 0xde, 0xbc, 0xb7, 0x11,
0x53, 0x81, 0x5a, 0x57, 0xd4, 0x04, 0x4f, 0xa8, 0x0f, 0xe4, 0xae, 0xe3, 0xd1, 0xb0, 0x21, 0x77, 0xb4, 0x4f, 0xa2, 0x4d, 0x90, 0xe9, 0x02, 0x9f, 0x42, 0x27, 0x85, 0xe5, 0xad, 0xf6, 0x6e, 0xfb,
0xf5, 0xc1, 0xd8, 0x3c, 0x38, 0x36, 0xac, 0x9f, 0xad, 0xc8, 0xe8, 0x00, 0xc0, 0x94, 0x37, 0xdc, 0x26, 0x34, 0xd2, 0x3d, 0xd7, 0xfe, 0xdd, 0x82, 0xae, 0x00, 0x66, 0xd1, 0x66, 0x83, 0xc3, 0xf3,
0x95, 0x66, 0x94, 0x41, 0xd0, 0x27, 0xd0, 0x50, 0x37, 0xd7, 0xb0, 0x29, 0x65, 0xdf, 0x19, 0xab, 0xc4, 0xe9, 0x3a, 0x40, 0xc4, 0x88, 0x3b, 0x67, 0x01, 0x5e, 0x12, 0xdd, 0x3e, 0x6a, 0x02, 0x99,
0x37, 0xc9, 0x38, 0x79, 0x93, 0x8c, 0x4f, 0xf5, 0x9b, 0xc4, 0xd6, 0xc4, 0xc9, 0x9f, 0x55, 0xd8, 0x09, 0x00, 0xdd, 0x80, 0x16, 0x7e, 0x89, 0xbd, 0xb5, 0x38, 0xb8, 0xb4, 0x46, 0x75, 0xe1, 0x66,
0x7b, 0x42, 0xdc, 0xb3, 0x64, 0x7a, 0x74, 0x06, 0x60, 0x2e, 0x29, 0xb4, 0x9f, 0x49, 0xac, 0x74, 0x02, 0x2b, 0xe1, 0x07, 0xd0, 0x94, 0x3e, 0x0b, 0xec, 0xbb, 0x3f, 0x78, 0x2e, 0x7f, 0xa1, 0xeb,
0x77, 0x8d, 0xee, 0x6c, 0x89, 0xea, 0xb5, 0x9a, 0x41, 0x33, 0xf1, 0x51, 0x34, 0xca, 0x50, 0x0b, 0x71, 0x45, 0xa0, 0xe3, 0x18, 0x44, 0xb7, 0xa1, 0x6b, 0xfc, 0x8c, 0x56, 0xf5, 0x61, 0x94, 0x50,
0x4e, 0x3d, 0x7a, 0x77, 0x63, 0x4c, 0x8b, 0x9c, 0x01, 0x18, 0xa7, 0xcc, 0xe5, 0x53, 0xf2, 0xdf, 0xc9, 0x0b, 0xb2, 0x24, 0x98, 0xbd, 0x58, 0x50, 0x1c, 0xba, 0x71, 0x2e, 0xaf, 0x0b, 0xd0, 0x49,
0x5c, 0x3e, 0x1b, 0xec, 0x75, 0x06, 0xcd, 0xc4, 0xb5, 0x72, 0xf9, 0x14, 0xbc, 0x32, 0x97, 0x4f, 0x81, 0x3a, 0x93, 0xab, 0xd9, 0x53, 0xa5, 0x96, 0x9c, 0x22, 0x1f, 0x41, 0x5b, 0x12, 0x4b, 0xea,
0xc9, 0xe6, 0x66, 0xd0, 0x4c, 0xce, 0x7c, 0x4e, 0xa4, 0xe0, 0x3b, 0x39, 0x91, 0x92, 0x49, 0x3c, 0xfb, 0x64, 0x29, 0x2e, 0x3e, 0x4c, 0x27, 0xd1, 0x12, 0xf8, 0xc4, 0xc0, 0xe8, 0x16, 0x74, 0x16,
0x84, 0x56, 0x7a, 0xdc, 0x51, 0x96, 0x59, 0x34, 0x86, 0xd1, 0xfe, 0xe6, 0xa0, 0xd2, 0x99, 0xfc, 0x94, 0x72, 0xc6, 0x43, 0x1c, 0xcc, 0xe3, 0x5d, 0x5f, 0x94, 0x6e, 0xed, 0x84, 0xd0, 0x9b, 0x5e,
0x6e, 0x41, 0xef, 0xd9, 0x2b, 0x1a, 0x2e, 0xc9, 0xfa, 0x7f, 0x59, 0xc1, 0xff, 0x2a, 0xcf, 0xdf, 0xf8, 0xca, 0x4b, 0x8a, 0x8f, 0xd7, 0x89, 0xb6, 0x24, 0xb5, 0xad, 0x18, 0x4f, 0x49, 0xc9, 0x8f,
0x2c, 0xe8, 0x8a, 0x7d, 0x7d, 0x3a, 0x35, 0x69, 0xce, 0xa0, 0x99, 0x3c, 0x69, 0x73, 0x8d, 0x2c, 0x39, 0x69, 0x59, 0x49, 0x63, 0x3c, 0x96, 0xde, 0x95, 0xbb, 0x8e, 0xb3, 0x7e, 0x45, 0xee, 0xea,
0x3c, 0x92, 0x73, 0x8d, 0x2c, 0xbd, 0x81, 0xcf, 0xa1, 0x9d, 0x79, 0x95, 0xa1, 0x5c, 0x39, 0xa5, 0x83, 0xd4, 0x25, 0x62, 0xc7, 0xfa, 0x39, 0x4a, 0x8c, 0x0e, 0x00, 0x4c, 0x7a, 0xfd, 0xcb, 0xb2,
0x27, 0xe9, 0xe8, 0x60, 0x5b, 0x58, 0xa7, 0xf9, 0xab, 0x05, 0x83, 0xe7, 0x1e, 0x75, 0xe8, 0x05, 0x19, 0xa5, 0x10, 0xf4, 0x31, 0x54, 0xd4, 0xc9, 0xd5, 0xaf, 0x4a, 0xdb, 0x77, 0x86, 0xea, 0x52,
0x67, 0x21, 0x35, 0xa9, 0x4e, 0xa1, 0xae, 0xf4, 0x6f, 0x17, 0xce, 0xe9, 0x46, 0xe5, 0x0d, 0x07, 0x38, 0x8c, 0x2f, 0x85, 0xc3, 0x13, 0x7d, 0x29, 0x74, 0xb4, 0x70, 0xf4, 0x47, 0x11, 0x1a, 0x8f,
0x18, 0xef, 0xa0, 0xc7, 0xd0, 0x4a, 0xdd, 0x2c, 0xdf, 0xca, 0x82, 0xf1, 0xe5, 0x5b, 0x59, 0x34, 0xb1, 0x3b, 0x8d, 0xa7, 0x47, 0x53, 0x00, 0x73, 0x48, 0xa1, 0x6b, 0xa9, 0xc0, 0xb6, 0xce, 0xae,
0x40, 0xbc, 0x33, 0xad, 0x7d, 0x5b, 0x09, 0xe6, 0xf3, 0x86, 0x3c, 0xd3, 0x9f, 0xfe, 0x13, 0x00, 0xc1, 0xf5, 0x3d, 0xac, 0x5e, 0xab, 0x09, 0x54, 0xe3, 0x3e, 0x8a, 0x06, 0x29, 0x69, 0xae, 0x53,
0x00, 0xff, 0xff, 0x42, 0x61, 0x39, 0x7c, 0xab, 0x0c, 0x00, 0x00, 0x0f, 0xde, 0xdd, 0xc9, 0x69, 0x93, 0x29, 0x80, 0xe9, 0x94, 0x99, 0x78, 0xb6, 0xfa, 0x6f, 0x26,
0x9e, 0x1d, 0xed, 0x75, 0x02, 0xd5, 0xb8, 0x6b, 0x65, 0xe2, 0xc9, 0xf5, 0xca, 0x4c, 0x3c, 0x5b,
0x6d, 0x6e, 0x02, 0xd5, 0xf8, 0x9b, 0xcf, 0x98, 0xe4, 0xfa, 0x4e, 0xc6, 0x64, 0xab, 0x49, 0x3c,
0x80, 0x5a, 0xf2, 0xb9, 0xa3, 0xb4, 0x32, 0xdf, 0x18, 0x06, 0xd7, 0x76, 0x93, 0xca, 0x67, 0xf4,
0x9b, 0x05, 0xed, 0x67, 0x2f, 0x49, 0xb8, 0xc6, 0xe7, 0xff, 0xcb, 0x0a, 0xfe, 0x57, 0x71, 0xfe,
0x6a, 0x41, 0x4b, 0xec, 0xeb, 0x93, 0xb1, 0x09, 0x73, 0x02, 0xd5, 0xf8, 0x4a, 0x9b, 0x29, 0x64,
0xee, 0x92, 0x9c, 0x29, 0xe4, 0xd6, 0x1d, 0xf8, 0x09, 0xd4, 0x53, 0xb7, 0x32, 0x94, 0x49, 0x67,
0xeb, 0x4a, 0x3a, 0x38, 0xd8, 0x47, 0xeb, 0x30, 0x7f, 0xb1, 0xa0, 0x2b, 0x7f, 0x31, 0x66, 0x9c,
0x86, 0xc4, 0x84, 0x3a, 0x86, 0xb2, 0xf2, 0xbf, 0x9a, 0xfb, 0x4e, 0x77, 0x3a, 0xef, 0xf8, 0x80,
0xed, 0x4b, 0xe8, 0x11, 0xd4, 0x92, 0x6e, 0x96, 0x2d, 0x65, 0xae, 0xf1, 0x65, 0x4b, 0x99, 0x6f,
0x80, 0xf6, 0xa5, 0xd1, 0x0a, 0x7a, 0xa9, 0x1f, 0x0d, 0x13, 0xe5, 0x33, 0x68, 0xa4, 0xff, 0x59,
0x50, 0x3a, 0xa6, 0x1d, 0xbf, 0x7e, 0x83, 0xc3, 0xbd, 0xbc, 0x9a, 0x6a, 0x5c, 0xfa, 0xa6, 0x10,
0x2c, 0x16, 0x15, 0xd9, 0x3c, 0x3e, 0xf9, 0x27, 0x00, 0x00, 0xff, 0xff, 0xea, 0x2e, 0x78, 0x27,
0xa6, 0x0e, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -1778,3 +1949,69 @@ var _PieceStoreInspector_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "inspector.proto", Metadata: "inspector.proto",
} }
// IrreparableInspectorClient is the client API for IrreparableInspector service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type IrreparableInspectorClient interface {
// ListSegments returns damaged segments
ListSegments(ctx context.Context, in *ListSegmentsRequest, opts ...grpc.CallOption) (*ListSegmentsResponse, error)
}
type irreparableInspectorClient struct {
cc *grpc.ClientConn
}
func NewIrreparableInspectorClient(cc *grpc.ClientConn) IrreparableInspectorClient {
return &irreparableInspectorClient{cc}
}
func (c *irreparableInspectorClient) ListSegments(ctx context.Context, in *ListSegmentsRequest, opts ...grpc.CallOption) (*ListSegmentsResponse, error) {
out := new(ListSegmentsResponse)
err := c.cc.Invoke(ctx, "/inspector.IrreparableInspector/ListSegments", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// IrreparableInspectorServer is the server API for IrreparableInspector service.
type IrreparableInspectorServer interface {
// ListSegments returns damaged segments
ListSegments(context.Context, *ListSegmentsRequest) (*ListSegmentsResponse, error)
}
func RegisterIrreparableInspectorServer(s *grpc.Server, srv IrreparableInspectorServer) {
s.RegisterService(&_IrreparableInspector_serviceDesc, srv)
}
func _IrreparableInspector_ListSegments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListSegmentsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IrreparableInspectorServer).ListSegments(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/inspector.IrreparableInspector/ListSegments",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IrreparableInspectorServer).ListSegments(ctx, req.(*ListSegmentsRequest))
}
return interceptor(ctx, in, info, handler)
}
var _IrreparableInspector_serviceDesc = grpc.ServiceDesc{
ServiceName: "inspector.IrreparableInspector",
HandlerType: (*IrreparableInspectorServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListSegments",
Handler: _IrreparableInspector_ListSegments_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "inspector.proto",
}

View File

@ -6,6 +6,7 @@ option go_package = "pb";
import "gogo.proto"; import "gogo.proto";
import "node.proto"; import "node.proto";
import "pointerdb.proto";
import "google/protobuf/duration.proto"; import "google/protobuf/duration.proto";
@ -47,6 +48,29 @@ service PieceStoreInspector {
rpc Dashboard(DashboardRequest) returns (DashboardResponse) {} rpc Dashboard(DashboardRequest) returns (DashboardResponse) {}
} }
service IrreparableInspector {
// ListSegments returns damaged segments
rpc ListSegments(ListSegmentsRequest) returns (ListSegmentsResponse);
}
// ListSegments
message ListSegmentsRequest {
int32 limit = 1;
int32 offset = 2;
}
message IrreparableSegment {
bytes path = 1;
pointerdb.Pointer segment_detail = 2;
int32 lost_pieces = 3;
int64 last_repair_attempt = 4;
int64 repair_attempt_count = 5;
}
message ListSegmentsResponse {
repeated IrreparableSegment segments = 1;
}
// GetStats // GetStats
message GetStatsRequest { message GetStatsRequest {
bytes node_id = 1 [(gogoproto.customtype) = "NodeID", (gogoproto.nullable) = false]; bytes node_id = 1 [(gogoproto.customtype) = "NodeID", (gogoproto.nullable) = false];

View File

@ -3,9 +3,11 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto" import (
import fmt "fmt" fmt "fmt"
import math "math" proto "github.com/gogo/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal var _ = proto.Marshal
@ -31,7 +33,7 @@ func (m *SerializableMeta) Reset() { *m = SerializableMeta{} }
func (m *SerializableMeta) String() string { return proto.CompactTextString(m) } func (m *SerializableMeta) String() string { return proto.CompactTextString(m) }
func (*SerializableMeta) ProtoMessage() {} func (*SerializableMeta) ProtoMessage() {}
func (*SerializableMeta) Descriptor() ([]byte, []int) { func (*SerializableMeta) Descriptor() ([]byte, []int) {
return fileDescriptor_meta_d3a626c05679ee13, []int{0} return fileDescriptor_3b5ea8fe65782bcc, []int{0}
} }
func (m *SerializableMeta) XXX_Unmarshal(b []byte) error { func (m *SerializableMeta) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SerializableMeta.Unmarshal(m, b) return xxx_messageInfo_SerializableMeta.Unmarshal(m, b)
@ -39,8 +41,8 @@ func (m *SerializableMeta) XXX_Unmarshal(b []byte) error {
func (m *SerializableMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *SerializableMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SerializableMeta.Marshal(b, m, deterministic) return xxx_messageInfo_SerializableMeta.Marshal(b, m, deterministic)
} }
func (dst *SerializableMeta) XXX_Merge(src proto.Message) { func (m *SerializableMeta) XXX_Merge(src proto.Message) {
xxx_messageInfo_SerializableMeta.Merge(dst, src) xxx_messageInfo_SerializableMeta.Merge(m, src)
} }
func (m *SerializableMeta) XXX_Size() int { func (m *SerializableMeta) XXX_Size() int {
return xxx_messageInfo_SerializableMeta.Size(m) return xxx_messageInfo_SerializableMeta.Size(m)
@ -70,9 +72,9 @@ func init() {
proto.RegisterMapType((map[string]string)(nil), "objects.SerializableMeta.UserDefinedEntry") proto.RegisterMapType((map[string]string)(nil), "objects.SerializableMeta.UserDefinedEntry")
} }
func init() { proto.RegisterFile("meta.proto", fileDescriptor_meta_d3a626c05679ee13) } func init() { proto.RegisterFile("meta.proto", fileDescriptor_3b5ea8fe65782bcc) }
var fileDescriptor_meta_d3a626c05679ee13 = []byte{ var fileDescriptor_3b5ea8fe65782bcc = []byte{
// 191 bytes of a gzipped FileDescriptorProto // 191 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xca, 0x4d, 0x2d, 0x49, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xca, 0x4d, 0x2d, 0x49,
0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0xcf, 0x4f, 0xca, 0x4a, 0x4d, 0x2e, 0x29, 0x56, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0xcf, 0x4f, 0xca, 0x4a, 0x4d, 0x2e, 0x29, 0x56,

View File

@ -3,10 +3,12 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto" import (
import fmt "fmt" fmt "fmt"
import math "math" _ "github.com/gogo/protobuf/gogoproto"
import _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal var _ = proto.Marshal
@ -37,6 +39,7 @@ var NodeType_name = map[int32]string{
3: "UPLINK", 3: "UPLINK",
4: "BOOTSTRAP", 4: "BOOTSTRAP",
} }
var NodeType_value = map[string]int32{ var NodeType_value = map[string]int32{
"INVALID": 0, "INVALID": 0,
"SATELLITE": 1, "SATELLITE": 1,
@ -48,8 +51,9 @@ var NodeType_value = map[string]int32{
func (x NodeType) String() string { func (x NodeType) String() string {
return proto.EnumName(NodeType_name, int32(x)) return proto.EnumName(NodeType_name, int32(x))
} }
func (NodeType) EnumDescriptor() ([]byte, []int) { func (NodeType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{0} return fileDescriptor_0c843d59d2d938e7, []int{0}
} }
// NodeTransport is an enum of possible transports for the overlay network // NodeTransport is an enum of possible transports for the overlay network
@ -62,6 +66,7 @@ const (
var NodeTransport_name = map[int32]string{ var NodeTransport_name = map[int32]string{
0: "TCP_TLS_GRPC", 0: "TCP_TLS_GRPC",
} }
var NodeTransport_value = map[string]int32{ var NodeTransport_value = map[string]int32{
"TCP_TLS_GRPC": 0, "TCP_TLS_GRPC": 0,
} }
@ -69,8 +74,9 @@ var NodeTransport_value = map[string]int32{
func (x NodeTransport) String() string { func (x NodeTransport) String() string {
return proto.EnumName(NodeTransport_name, int32(x)) return proto.EnumName(NodeTransport_name, int32(x))
} }
func (NodeTransport) EnumDescriptor() ([]byte, []int) { func (NodeTransport) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{1} return fileDescriptor_0c843d59d2d938e7, []int{1}
} }
// TODO move statdb.Update() stuff out of here // TODO move statdb.Update() stuff out of here
@ -98,7 +104,7 @@ func (m *Node) Reset() { *m = Node{} }
func (m *Node) String() string { return proto.CompactTextString(m) } func (m *Node) String() string { return proto.CompactTextString(m) }
func (*Node) ProtoMessage() {} func (*Node) ProtoMessage() {}
func (*Node) Descriptor() ([]byte, []int) { func (*Node) Descriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{0} return fileDescriptor_0c843d59d2d938e7, []int{0}
} }
func (m *Node) XXX_Unmarshal(b []byte) error { func (m *Node) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Node.Unmarshal(m, b) return xxx_messageInfo_Node.Unmarshal(m, b)
@ -106,8 +112,8 @@ func (m *Node) XXX_Unmarshal(b []byte) error {
func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Node.Marshal(b, m, deterministic) return xxx_messageInfo_Node.Marshal(b, m, deterministic)
} }
func (dst *Node) XXX_Merge(src proto.Message) { func (m *Node) XXX_Merge(src proto.Message) {
xxx_messageInfo_Node.Merge(dst, src) xxx_messageInfo_Node.Merge(m, src)
} }
func (m *Node) XXX_Size() int { func (m *Node) XXX_Size() int {
return xxx_messageInfo_Node.Size(m) return xxx_messageInfo_Node.Size(m)
@ -208,7 +214,7 @@ func (m *NodeAddress) Reset() { *m = NodeAddress{} }
func (m *NodeAddress) String() string { return proto.CompactTextString(m) } func (m *NodeAddress) String() string { return proto.CompactTextString(m) }
func (*NodeAddress) ProtoMessage() {} func (*NodeAddress) ProtoMessage() {}
func (*NodeAddress) Descriptor() ([]byte, []int) { func (*NodeAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{1} return fileDescriptor_0c843d59d2d938e7, []int{1}
} }
func (m *NodeAddress) XXX_Unmarshal(b []byte) error { func (m *NodeAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeAddress.Unmarshal(m, b) return xxx_messageInfo_NodeAddress.Unmarshal(m, b)
@ -216,8 +222,8 @@ func (m *NodeAddress) XXX_Unmarshal(b []byte) error {
func (m *NodeAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *NodeAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeAddress.Marshal(b, m, deterministic) return xxx_messageInfo_NodeAddress.Marshal(b, m, deterministic)
} }
func (dst *NodeAddress) XXX_Merge(src proto.Message) { func (m *NodeAddress) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeAddress.Merge(dst, src) xxx_messageInfo_NodeAddress.Merge(m, src)
} }
func (m *NodeAddress) XXX_Size() int { func (m *NodeAddress) XXX_Size() int {
return xxx_messageInfo_NodeAddress.Size(m) return xxx_messageInfo_NodeAddress.Size(m)
@ -261,7 +267,7 @@ func (m *NodeStats) Reset() { *m = NodeStats{} }
func (m *NodeStats) String() string { return proto.CompactTextString(m) } func (m *NodeStats) String() string { return proto.CompactTextString(m) }
func (*NodeStats) ProtoMessage() {} func (*NodeStats) ProtoMessage() {}
func (*NodeStats) Descriptor() ([]byte, []int) { func (*NodeStats) Descriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{2} return fileDescriptor_0c843d59d2d938e7, []int{2}
} }
func (m *NodeStats) XXX_Unmarshal(b []byte) error { func (m *NodeStats) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeStats.Unmarshal(m, b) return xxx_messageInfo_NodeStats.Unmarshal(m, b)
@ -269,8 +275,8 @@ func (m *NodeStats) XXX_Unmarshal(b []byte) error {
func (m *NodeStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *NodeStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeStats.Marshal(b, m, deterministic) return xxx_messageInfo_NodeStats.Marshal(b, m, deterministic)
} }
func (dst *NodeStats) XXX_Merge(src proto.Message) { func (m *NodeStats) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeStats.Merge(dst, src) xxx_messageInfo_NodeStats.Merge(m, src)
} }
func (m *NodeStats) XXX_Size() int { func (m *NodeStats) XXX_Size() int {
return xxx_messageInfo_NodeStats.Size(m) return xxx_messageInfo_NodeStats.Size(m)
@ -343,7 +349,7 @@ func (m *NodeOperator) Reset() { *m = NodeOperator{} }
func (m *NodeOperator) String() string { return proto.CompactTextString(m) } func (m *NodeOperator) String() string { return proto.CompactTextString(m) }
func (*NodeOperator) ProtoMessage() {} func (*NodeOperator) ProtoMessage() {}
func (*NodeOperator) Descriptor() ([]byte, []int) { func (*NodeOperator) Descriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{3} return fileDescriptor_0c843d59d2d938e7, []int{3}
} }
func (m *NodeOperator) XXX_Unmarshal(b []byte) error { func (m *NodeOperator) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeOperator.Unmarshal(m, b) return xxx_messageInfo_NodeOperator.Unmarshal(m, b)
@ -351,8 +357,8 @@ func (m *NodeOperator) XXX_Unmarshal(b []byte) error {
func (m *NodeOperator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *NodeOperator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeOperator.Marshal(b, m, deterministic) return xxx_messageInfo_NodeOperator.Marshal(b, m, deterministic)
} }
func (dst *NodeOperator) XXX_Merge(src proto.Message) { func (m *NodeOperator) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeOperator.Merge(dst, src) xxx_messageInfo_NodeOperator.Merge(m, src)
} }
func (m *NodeOperator) XXX_Size() int { func (m *NodeOperator) XXX_Size() int {
return xxx_messageInfo_NodeOperator.Size(m) return xxx_messageInfo_NodeOperator.Size(m)
@ -390,7 +396,7 @@ func (m *NodeCapacity) Reset() { *m = NodeCapacity{} }
func (m *NodeCapacity) String() string { return proto.CompactTextString(m) } func (m *NodeCapacity) String() string { return proto.CompactTextString(m) }
func (*NodeCapacity) ProtoMessage() {} func (*NodeCapacity) ProtoMessage() {}
func (*NodeCapacity) Descriptor() ([]byte, []int) { func (*NodeCapacity) Descriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{4} return fileDescriptor_0c843d59d2d938e7, []int{4}
} }
func (m *NodeCapacity) XXX_Unmarshal(b []byte) error { func (m *NodeCapacity) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeCapacity.Unmarshal(m, b) return xxx_messageInfo_NodeCapacity.Unmarshal(m, b)
@ -398,8 +404,8 @@ func (m *NodeCapacity) XXX_Unmarshal(b []byte) error {
func (m *NodeCapacity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *NodeCapacity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeCapacity.Marshal(b, m, deterministic) return xxx_messageInfo_NodeCapacity.Marshal(b, m, deterministic)
} }
func (dst *NodeCapacity) XXX_Merge(src proto.Message) { func (m *NodeCapacity) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeCapacity.Merge(dst, src) xxx_messageInfo_NodeCapacity.Merge(m, src)
} }
func (m *NodeCapacity) XXX_Size() int { func (m *NodeCapacity) XXX_Size() int {
return xxx_messageInfo_NodeCapacity.Size(m) return xxx_messageInfo_NodeCapacity.Size(m)
@ -437,7 +443,7 @@ func (m *NodeMetadata) Reset() { *m = NodeMetadata{} }
func (m *NodeMetadata) String() string { return proto.CompactTextString(m) } func (m *NodeMetadata) String() string { return proto.CompactTextString(m) }
func (*NodeMetadata) ProtoMessage() {} func (*NodeMetadata) ProtoMessage() {}
func (*NodeMetadata) Descriptor() ([]byte, []int) { func (*NodeMetadata) Descriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{5} return fileDescriptor_0c843d59d2d938e7, []int{5}
} }
func (m *NodeMetadata) XXX_Unmarshal(b []byte) error { func (m *NodeMetadata) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeMetadata.Unmarshal(m, b) return xxx_messageInfo_NodeMetadata.Unmarshal(m, b)
@ -445,8 +451,8 @@ func (m *NodeMetadata) XXX_Unmarshal(b []byte) error {
func (m *NodeMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *NodeMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeMetadata.Marshal(b, m, deterministic) return xxx_messageInfo_NodeMetadata.Marshal(b, m, deterministic)
} }
func (dst *NodeMetadata) XXX_Merge(src proto.Message) { func (m *NodeMetadata) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeMetadata.Merge(dst, src) xxx_messageInfo_NodeMetadata.Merge(m, src)
} }
func (m *NodeMetadata) XXX_Size() int { func (m *NodeMetadata) XXX_Size() int {
return xxx_messageInfo_NodeMetadata.Size(m) return xxx_messageInfo_NodeMetadata.Size(m)
@ -484,7 +490,7 @@ func (m *NodeRestrictions) Reset() { *m = NodeRestrictions{} }
func (m *NodeRestrictions) String() string { return proto.CompactTextString(m) } func (m *NodeRestrictions) String() string { return proto.CompactTextString(m) }
func (*NodeRestrictions) ProtoMessage() {} func (*NodeRestrictions) ProtoMessage() {}
func (*NodeRestrictions) Descriptor() ([]byte, []int) { func (*NodeRestrictions) Descriptor() ([]byte, []int) {
return fileDescriptor_node_706cf6fe66bd25bc, []int{6} return fileDescriptor_0c843d59d2d938e7, []int{6}
} }
func (m *NodeRestrictions) XXX_Unmarshal(b []byte) error { func (m *NodeRestrictions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeRestrictions.Unmarshal(m, b) return xxx_messageInfo_NodeRestrictions.Unmarshal(m, b)
@ -492,8 +498,8 @@ func (m *NodeRestrictions) XXX_Unmarshal(b []byte) error {
func (m *NodeRestrictions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *NodeRestrictions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeRestrictions.Marshal(b, m, deterministic) return xxx_messageInfo_NodeRestrictions.Marshal(b, m, deterministic)
} }
func (dst *NodeRestrictions) XXX_Merge(src proto.Message) { func (m *NodeRestrictions) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeRestrictions.Merge(dst, src) xxx_messageInfo_NodeRestrictions.Merge(m, src)
} }
func (m *NodeRestrictions) XXX_Size() int { func (m *NodeRestrictions) XXX_Size() int {
return xxx_messageInfo_NodeRestrictions.Size(m) return xxx_messageInfo_NodeRestrictions.Size(m)
@ -519,6 +525,8 @@ func (m *NodeRestrictions) GetFreeDisk() int64 {
} }
func init() { func init() {
proto.RegisterEnum("node.NodeType", NodeType_name, NodeType_value)
proto.RegisterEnum("node.NodeTransport", NodeTransport_name, NodeTransport_value)
proto.RegisterType((*Node)(nil), "node.Node") proto.RegisterType((*Node)(nil), "node.Node")
proto.RegisterType((*NodeAddress)(nil), "node.NodeAddress") proto.RegisterType((*NodeAddress)(nil), "node.NodeAddress")
proto.RegisterType((*NodeStats)(nil), "node.NodeStats") proto.RegisterType((*NodeStats)(nil), "node.NodeStats")
@ -526,13 +534,11 @@ func init() {
proto.RegisterType((*NodeCapacity)(nil), "node.NodeCapacity") proto.RegisterType((*NodeCapacity)(nil), "node.NodeCapacity")
proto.RegisterType((*NodeMetadata)(nil), "node.NodeMetadata") proto.RegisterType((*NodeMetadata)(nil), "node.NodeMetadata")
proto.RegisterType((*NodeRestrictions)(nil), "node.NodeRestrictions") proto.RegisterType((*NodeRestrictions)(nil), "node.NodeRestrictions")
proto.RegisterEnum("node.NodeType", NodeType_name, NodeType_value)
proto.RegisterEnum("node.NodeTransport", NodeTransport_name, NodeTransport_value)
} }
func init() { proto.RegisterFile("node.proto", fileDescriptor_node_706cf6fe66bd25bc) } func init() { proto.RegisterFile("node.proto", fileDescriptor_0c843d59d2d938e7) }
var fileDescriptor_node_706cf6fe66bd25bc = []byte{ var fileDescriptor_0c843d59d2d938e7 = []byte{
// 683 bytes of a gzipped FileDescriptorProto // 683 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xc1, 0x4e, 0xdb, 0x4a, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xc1, 0x4e, 0xdb, 0x4a,
0x14, 0x86, 0x49, 0x6c, 0x9c, 0xf8, 0xd8, 0xc9, 0x35, 0x03, 0x42, 0xd6, 0xbd, 0xba, 0x97, 0x10, 0x14, 0x86, 0x49, 0x6c, 0x9c, 0xf8, 0xd8, 0xc9, 0x35, 0x03, 0x42, 0xd6, 0xbd, 0xba, 0x97, 0x10,

View File

@ -3,15 +3,14 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import duration "github.com/golang/protobuf/ptypes/duration"
import ( import (
context "golang.org/x/net/context" context "context"
fmt "fmt"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
duration "github.com/golang/protobuf/ptypes/duration"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
math "math"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -42,6 +41,7 @@ var Restriction_Operator_name = map[int32]string{
3: "LTE", 3: "LTE",
4: "GTE", 4: "GTE",
} }
var Restriction_Operator_value = map[string]int32{ var Restriction_Operator_value = map[string]int32{
"LT": 0, "LT": 0,
"EQ": 1, "EQ": 1,
@ -53,8 +53,9 @@ var Restriction_Operator_value = map[string]int32{
func (x Restriction_Operator) String() string { func (x Restriction_Operator) String() string {
return proto.EnumName(Restriction_Operator_name, int32(x)) return proto.EnumName(Restriction_Operator_name, int32(x))
} }
func (Restriction_Operator) EnumDescriptor() ([]byte, []int) { func (Restriction_Operator) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{13, 0} return fileDescriptor_61fc82527fbe24ad, []int{13, 0}
} }
type Restriction_Operand int32 type Restriction_Operand int32
@ -68,6 +69,7 @@ var Restriction_Operand_name = map[int32]string{
0: "FREE_BANDWIDTH", 0: "FREE_BANDWIDTH",
1: "FREE_DISK", 1: "FREE_DISK",
} }
var Restriction_Operand_value = map[string]int32{ var Restriction_Operand_value = map[string]int32{
"FREE_BANDWIDTH": 0, "FREE_BANDWIDTH": 0,
"FREE_DISK": 1, "FREE_DISK": 1,
@ -76,8 +78,9 @@ var Restriction_Operand_value = map[string]int32{
func (x Restriction_Operand) String() string { func (x Restriction_Operand) String() string {
return proto.EnumName(Restriction_Operand_name, int32(x)) return proto.EnumName(Restriction_Operand_name, int32(x))
} }
func (Restriction_Operand) EnumDescriptor() ([]byte, []int) { func (Restriction_Operand) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{13, 1} return fileDescriptor_61fc82527fbe24ad, []int{13, 1}
} }
// LookupRequest is is request message for the lookup rpc call // LookupRequest is is request message for the lookup rpc call
@ -92,7 +95,7 @@ func (m *LookupRequest) Reset() { *m = LookupRequest{} }
func (m *LookupRequest) String() string { return proto.CompactTextString(m) } func (m *LookupRequest) String() string { return proto.CompactTextString(m) }
func (*LookupRequest) ProtoMessage() {} func (*LookupRequest) ProtoMessage() {}
func (*LookupRequest) Descriptor() ([]byte, []int) { func (*LookupRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{0} return fileDescriptor_61fc82527fbe24ad, []int{0}
} }
func (m *LookupRequest) XXX_Unmarshal(b []byte) error { func (m *LookupRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupRequest.Unmarshal(m, b) return xxx_messageInfo_LookupRequest.Unmarshal(m, b)
@ -100,8 +103,8 @@ func (m *LookupRequest) XXX_Unmarshal(b []byte) error {
func (m *LookupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LookupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupRequest.Marshal(b, m, deterministic) return xxx_messageInfo_LookupRequest.Marshal(b, m, deterministic)
} }
func (dst *LookupRequest) XXX_Merge(src proto.Message) { func (m *LookupRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupRequest.Merge(dst, src) xxx_messageInfo_LookupRequest.Merge(m, src)
} }
func (m *LookupRequest) XXX_Size() int { func (m *LookupRequest) XXX_Size() int {
return xxx_messageInfo_LookupRequest.Size(m) return xxx_messageInfo_LookupRequest.Size(m)
@ -124,7 +127,7 @@ func (m *LookupResponse) Reset() { *m = LookupResponse{} }
func (m *LookupResponse) String() string { return proto.CompactTextString(m) } func (m *LookupResponse) String() string { return proto.CompactTextString(m) }
func (*LookupResponse) ProtoMessage() {} func (*LookupResponse) ProtoMessage() {}
func (*LookupResponse) Descriptor() ([]byte, []int) { func (*LookupResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{1} return fileDescriptor_61fc82527fbe24ad, []int{1}
} }
func (m *LookupResponse) XXX_Unmarshal(b []byte) error { func (m *LookupResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupResponse.Unmarshal(m, b) return xxx_messageInfo_LookupResponse.Unmarshal(m, b)
@ -132,8 +135,8 @@ func (m *LookupResponse) XXX_Unmarshal(b []byte) error {
func (m *LookupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LookupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupResponse.Marshal(b, m, deterministic) return xxx_messageInfo_LookupResponse.Marshal(b, m, deterministic)
} }
func (dst *LookupResponse) XXX_Merge(src proto.Message) { func (m *LookupResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupResponse.Merge(dst, src) xxx_messageInfo_LookupResponse.Merge(m, src)
} }
func (m *LookupResponse) XXX_Size() int { func (m *LookupResponse) XXX_Size() int {
return xxx_messageInfo_LookupResponse.Size(m) return xxx_messageInfo_LookupResponse.Size(m)
@ -151,7 +154,7 @@ func (m *LookupResponse) GetNode() *Node {
return nil return nil
} }
// LookupRequests is a list of LookupRequest //LookupRequests is a list of LookupRequest
type LookupRequests struct { type LookupRequests struct {
LookupRequest []*LookupRequest `protobuf:"bytes,1,rep,name=lookup_request,json=lookupRequest,proto3" json:"lookup_request,omitempty"` LookupRequest []*LookupRequest `protobuf:"bytes,1,rep,name=lookup_request,json=lookupRequest,proto3" json:"lookup_request,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -163,7 +166,7 @@ func (m *LookupRequests) Reset() { *m = LookupRequests{} }
func (m *LookupRequests) String() string { return proto.CompactTextString(m) } func (m *LookupRequests) String() string { return proto.CompactTextString(m) }
func (*LookupRequests) ProtoMessage() {} func (*LookupRequests) ProtoMessage() {}
func (*LookupRequests) Descriptor() ([]byte, []int) { func (*LookupRequests) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{2} return fileDescriptor_61fc82527fbe24ad, []int{2}
} }
func (m *LookupRequests) XXX_Unmarshal(b []byte) error { func (m *LookupRequests) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupRequests.Unmarshal(m, b) return xxx_messageInfo_LookupRequests.Unmarshal(m, b)
@ -171,8 +174,8 @@ func (m *LookupRequests) XXX_Unmarshal(b []byte) error {
func (m *LookupRequests) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LookupRequests) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupRequests.Marshal(b, m, deterministic) return xxx_messageInfo_LookupRequests.Marshal(b, m, deterministic)
} }
func (dst *LookupRequests) XXX_Merge(src proto.Message) { func (m *LookupRequests) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupRequests.Merge(dst, src) xxx_messageInfo_LookupRequests.Merge(m, src)
} }
func (m *LookupRequests) XXX_Size() int { func (m *LookupRequests) XXX_Size() int {
return xxx_messageInfo_LookupRequests.Size(m) return xxx_messageInfo_LookupRequests.Size(m)
@ -190,7 +193,7 @@ func (m *LookupRequests) GetLookupRequest() []*LookupRequest {
return nil return nil
} }
// LookupResponse is a list of LookupResponse //LookupResponse is a list of LookupResponse
type LookupResponses struct { type LookupResponses struct {
LookupResponse []*LookupResponse `protobuf:"bytes,1,rep,name=lookup_response,json=lookupResponse,proto3" json:"lookup_response,omitempty"` LookupResponse []*LookupResponse `protobuf:"bytes,1,rep,name=lookup_response,json=lookupResponse,proto3" json:"lookup_response,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -202,7 +205,7 @@ func (m *LookupResponses) Reset() { *m = LookupResponses{} }
func (m *LookupResponses) String() string { return proto.CompactTextString(m) } func (m *LookupResponses) String() string { return proto.CompactTextString(m) }
func (*LookupResponses) ProtoMessage() {} func (*LookupResponses) ProtoMessage() {}
func (*LookupResponses) Descriptor() ([]byte, []int) { func (*LookupResponses) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{3} return fileDescriptor_61fc82527fbe24ad, []int{3}
} }
func (m *LookupResponses) XXX_Unmarshal(b []byte) error { func (m *LookupResponses) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupResponses.Unmarshal(m, b) return xxx_messageInfo_LookupResponses.Unmarshal(m, b)
@ -210,8 +213,8 @@ func (m *LookupResponses) XXX_Unmarshal(b []byte) error {
func (m *LookupResponses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LookupResponses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupResponses.Marshal(b, m, deterministic) return xxx_messageInfo_LookupResponses.Marshal(b, m, deterministic)
} }
func (dst *LookupResponses) XXX_Merge(src proto.Message) { func (m *LookupResponses) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupResponses.Merge(dst, src) xxx_messageInfo_LookupResponses.Merge(m, src)
} }
func (m *LookupResponses) XXX_Size() int { func (m *LookupResponses) XXX_Size() int {
return xxx_messageInfo_LookupResponses.Size(m) return xxx_messageInfo_LookupResponses.Size(m)
@ -241,7 +244,7 @@ func (m *FindStorageNodesResponse) Reset() { *m = FindStorageNodesRespon
func (m *FindStorageNodesResponse) String() string { return proto.CompactTextString(m) } func (m *FindStorageNodesResponse) String() string { return proto.CompactTextString(m) }
func (*FindStorageNodesResponse) ProtoMessage() {} func (*FindStorageNodesResponse) ProtoMessage() {}
func (*FindStorageNodesResponse) Descriptor() ([]byte, []int) { func (*FindStorageNodesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{4} return fileDescriptor_61fc82527fbe24ad, []int{4}
} }
func (m *FindStorageNodesResponse) XXX_Unmarshal(b []byte) error { func (m *FindStorageNodesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FindStorageNodesResponse.Unmarshal(m, b) return xxx_messageInfo_FindStorageNodesResponse.Unmarshal(m, b)
@ -249,8 +252,8 @@ func (m *FindStorageNodesResponse) XXX_Unmarshal(b []byte) error {
func (m *FindStorageNodesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *FindStorageNodesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FindStorageNodesResponse.Marshal(b, m, deterministic) return xxx_messageInfo_FindStorageNodesResponse.Marshal(b, m, deterministic)
} }
func (dst *FindStorageNodesResponse) XXX_Merge(src proto.Message) { func (m *FindStorageNodesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_FindStorageNodesResponse.Merge(dst, src) xxx_messageInfo_FindStorageNodesResponse.Merge(m, src)
} }
func (m *FindStorageNodesResponse) XXX_Size() int { func (m *FindStorageNodesResponse) XXX_Size() int {
return xxx_messageInfo_FindStorageNodesResponse.Size(m) return xxx_messageInfo_FindStorageNodesResponse.Size(m)
@ -284,7 +287,7 @@ func (m *FindStorageNodesRequest) Reset() { *m = FindStorageNodesRequest
func (m *FindStorageNodesRequest) String() string { return proto.CompactTextString(m) } func (m *FindStorageNodesRequest) String() string { return proto.CompactTextString(m) }
func (*FindStorageNodesRequest) ProtoMessage() {} func (*FindStorageNodesRequest) ProtoMessage() {}
func (*FindStorageNodesRequest) Descriptor() ([]byte, []int) { func (*FindStorageNodesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{5} return fileDescriptor_61fc82527fbe24ad, []int{5}
} }
func (m *FindStorageNodesRequest) XXX_Unmarshal(b []byte) error { func (m *FindStorageNodesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FindStorageNodesRequest.Unmarshal(m, b) return xxx_messageInfo_FindStorageNodesRequest.Unmarshal(m, b)
@ -292,8 +295,8 @@ func (m *FindStorageNodesRequest) XXX_Unmarshal(b []byte) error {
func (m *FindStorageNodesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *FindStorageNodesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FindStorageNodesRequest.Marshal(b, m, deterministic) return xxx_messageInfo_FindStorageNodesRequest.Marshal(b, m, deterministic)
} }
func (dst *FindStorageNodesRequest) XXX_Merge(src proto.Message) { func (m *FindStorageNodesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_FindStorageNodesRequest.Merge(dst, src) xxx_messageInfo_FindStorageNodesRequest.Merge(m, src)
} }
func (m *FindStorageNodesRequest) XXX_Size() int { func (m *FindStorageNodesRequest) XXX_Size() int {
return xxx_messageInfo_FindStorageNodesRequest.Size(m) return xxx_messageInfo_FindStorageNodesRequest.Size(m)
@ -349,7 +352,7 @@ func (m *OverlayOptions) Reset() { *m = OverlayOptions{} }
func (m *OverlayOptions) String() string { return proto.CompactTextString(m) } func (m *OverlayOptions) String() string { return proto.CompactTextString(m) }
func (*OverlayOptions) ProtoMessage() {} func (*OverlayOptions) ProtoMessage() {}
func (*OverlayOptions) Descriptor() ([]byte, []int) { func (*OverlayOptions) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{6} return fileDescriptor_61fc82527fbe24ad, []int{6}
} }
func (m *OverlayOptions) XXX_Unmarshal(b []byte) error { func (m *OverlayOptions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OverlayOptions.Unmarshal(m, b) return xxx_messageInfo_OverlayOptions.Unmarshal(m, b)
@ -357,8 +360,8 @@ func (m *OverlayOptions) XXX_Unmarshal(b []byte) error {
func (m *OverlayOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *OverlayOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OverlayOptions.Marshal(b, m, deterministic) return xxx_messageInfo_OverlayOptions.Marshal(b, m, deterministic)
} }
func (dst *OverlayOptions) XXX_Merge(src proto.Message) { func (m *OverlayOptions) XXX_Merge(src proto.Message) {
xxx_messageInfo_OverlayOptions.Merge(dst, src) xxx_messageInfo_OverlayOptions.Merge(m, src)
} }
func (m *OverlayOptions) XXX_Size() int { func (m *OverlayOptions) XXX_Size() int {
return xxx_messageInfo_OverlayOptions.Size(m) return xxx_messageInfo_OverlayOptions.Size(m)
@ -418,7 +421,7 @@ func (m *QueryRequest) Reset() { *m = QueryRequest{} }
func (m *QueryRequest) String() string { return proto.CompactTextString(m) } func (m *QueryRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRequest) ProtoMessage() {} func (*QueryRequest) ProtoMessage() {}
func (*QueryRequest) Descriptor() ([]byte, []int) { func (*QueryRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{7} return fileDescriptor_61fc82527fbe24ad, []int{7}
} }
func (m *QueryRequest) XXX_Unmarshal(b []byte) error { func (m *QueryRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QueryRequest.Unmarshal(m, b) return xxx_messageInfo_QueryRequest.Unmarshal(m, b)
@ -426,8 +429,8 @@ func (m *QueryRequest) XXX_Unmarshal(b []byte) error {
func (m *QueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *QueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_QueryRequest.Marshal(b, m, deterministic) return xxx_messageInfo_QueryRequest.Marshal(b, m, deterministic)
} }
func (dst *QueryRequest) XXX_Merge(src proto.Message) { func (m *QueryRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_QueryRequest.Merge(dst, src) xxx_messageInfo_QueryRequest.Merge(m, src)
} }
func (m *QueryRequest) XXX_Size() int { func (m *QueryRequest) XXX_Size() int {
return xxx_messageInfo_QueryRequest.Size(m) return xxx_messageInfo_QueryRequest.Size(m)
@ -478,7 +481,7 @@ func (m *QueryResponse) Reset() { *m = QueryResponse{} }
func (m *QueryResponse) String() string { return proto.CompactTextString(m) } func (m *QueryResponse) String() string { return proto.CompactTextString(m) }
func (*QueryResponse) ProtoMessage() {} func (*QueryResponse) ProtoMessage() {}
func (*QueryResponse) Descriptor() ([]byte, []int) { func (*QueryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{8} return fileDescriptor_61fc82527fbe24ad, []int{8}
} }
func (m *QueryResponse) XXX_Unmarshal(b []byte) error { func (m *QueryResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QueryResponse.Unmarshal(m, b) return xxx_messageInfo_QueryResponse.Unmarshal(m, b)
@ -486,8 +489,8 @@ func (m *QueryResponse) XXX_Unmarshal(b []byte) error {
func (m *QueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *QueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_QueryResponse.Marshal(b, m, deterministic) return xxx_messageInfo_QueryResponse.Marshal(b, m, deterministic)
} }
func (dst *QueryResponse) XXX_Merge(src proto.Message) { func (m *QueryResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_QueryResponse.Merge(dst, src) xxx_messageInfo_QueryResponse.Merge(m, src)
} }
func (m *QueryResponse) XXX_Size() int { func (m *QueryResponse) XXX_Size() int {
return xxx_messageInfo_QueryResponse.Size(m) return xxx_messageInfo_QueryResponse.Size(m)
@ -522,7 +525,7 @@ func (m *PingRequest) Reset() { *m = PingRequest{} }
func (m *PingRequest) String() string { return proto.CompactTextString(m) } func (m *PingRequest) String() string { return proto.CompactTextString(m) }
func (*PingRequest) ProtoMessage() {} func (*PingRequest) ProtoMessage() {}
func (*PingRequest) Descriptor() ([]byte, []int) { func (*PingRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{9} return fileDescriptor_61fc82527fbe24ad, []int{9}
} }
func (m *PingRequest) XXX_Unmarshal(b []byte) error { func (m *PingRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PingRequest.Unmarshal(m, b) return xxx_messageInfo_PingRequest.Unmarshal(m, b)
@ -530,8 +533,8 @@ func (m *PingRequest) XXX_Unmarshal(b []byte) error {
func (m *PingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PingRequest.Marshal(b, m, deterministic) return xxx_messageInfo_PingRequest.Marshal(b, m, deterministic)
} }
func (dst *PingRequest) XXX_Merge(src proto.Message) { func (m *PingRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PingRequest.Merge(dst, src) xxx_messageInfo_PingRequest.Merge(m, src)
} }
func (m *PingRequest) XXX_Size() int { func (m *PingRequest) XXX_Size() int {
return xxx_messageInfo_PingRequest.Size(m) return xxx_messageInfo_PingRequest.Size(m)
@ -552,7 +555,7 @@ func (m *PingResponse) Reset() { *m = PingResponse{} }
func (m *PingResponse) String() string { return proto.CompactTextString(m) } func (m *PingResponse) String() string { return proto.CompactTextString(m) }
func (*PingResponse) ProtoMessage() {} func (*PingResponse) ProtoMessage() {}
func (*PingResponse) Descriptor() ([]byte, []int) { func (*PingResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{10} return fileDescriptor_61fc82527fbe24ad, []int{10}
} }
func (m *PingResponse) XXX_Unmarshal(b []byte) error { func (m *PingResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PingResponse.Unmarshal(m, b) return xxx_messageInfo_PingResponse.Unmarshal(m, b)
@ -560,8 +563,8 @@ func (m *PingResponse) XXX_Unmarshal(b []byte) error {
func (m *PingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PingResponse.Marshal(b, m, deterministic) return xxx_messageInfo_PingResponse.Marshal(b, m, deterministic)
} }
func (dst *PingResponse) XXX_Merge(src proto.Message) { func (m *PingResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PingResponse.Merge(dst, src) xxx_messageInfo_PingResponse.Merge(m, src)
} }
func (m *PingResponse) XXX_Size() int { func (m *PingResponse) XXX_Size() int {
return xxx_messageInfo_PingResponse.Size(m) return xxx_messageInfo_PingResponse.Size(m)
@ -583,7 +586,7 @@ func (m *InfoRequest) Reset() { *m = InfoRequest{} }
func (m *InfoRequest) String() string { return proto.CompactTextString(m) } func (m *InfoRequest) String() string { return proto.CompactTextString(m) }
func (*InfoRequest) ProtoMessage() {} func (*InfoRequest) ProtoMessage() {}
func (*InfoRequest) Descriptor() ([]byte, []int) { func (*InfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{11} return fileDescriptor_61fc82527fbe24ad, []int{11}
} }
func (m *InfoRequest) XXX_Unmarshal(b []byte) error { func (m *InfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InfoRequest.Unmarshal(m, b) return xxx_messageInfo_InfoRequest.Unmarshal(m, b)
@ -591,8 +594,8 @@ func (m *InfoRequest) XXX_Unmarshal(b []byte) error {
func (m *InfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *InfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InfoRequest.Marshal(b, m, deterministic) return xxx_messageInfo_InfoRequest.Marshal(b, m, deterministic)
} }
func (dst *InfoRequest) XXX_Merge(src proto.Message) { func (m *InfoRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_InfoRequest.Merge(dst, src) xxx_messageInfo_InfoRequest.Merge(m, src)
} }
func (m *InfoRequest) XXX_Size() int { func (m *InfoRequest) XXX_Size() int {
return xxx_messageInfo_InfoRequest.Size(m) return xxx_messageInfo_InfoRequest.Size(m)
@ -616,7 +619,7 @@ func (m *InfoResponse) Reset() { *m = InfoResponse{} }
func (m *InfoResponse) String() string { return proto.CompactTextString(m) } func (m *InfoResponse) String() string { return proto.CompactTextString(m) }
func (*InfoResponse) ProtoMessage() {} func (*InfoResponse) ProtoMessage() {}
func (*InfoResponse) Descriptor() ([]byte, []int) { func (*InfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{12} return fileDescriptor_61fc82527fbe24ad, []int{12}
} }
func (m *InfoResponse) XXX_Unmarshal(b []byte) error { func (m *InfoResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InfoResponse.Unmarshal(m, b) return xxx_messageInfo_InfoResponse.Unmarshal(m, b)
@ -624,8 +627,8 @@ func (m *InfoResponse) XXX_Unmarshal(b []byte) error {
func (m *InfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *InfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InfoResponse.Marshal(b, m, deterministic) return xxx_messageInfo_InfoResponse.Marshal(b, m, deterministic)
} }
func (dst *InfoResponse) XXX_Merge(src proto.Message) { func (m *InfoResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_InfoResponse.Merge(dst, src) xxx_messageInfo_InfoResponse.Merge(m, src)
} }
func (m *InfoResponse) XXX_Size() int { func (m *InfoResponse) XXX_Size() int {
return xxx_messageInfo_InfoResponse.Size(m) return xxx_messageInfo_InfoResponse.Size(m)
@ -670,7 +673,7 @@ func (m *Restriction) Reset() { *m = Restriction{} }
func (m *Restriction) String() string { return proto.CompactTextString(m) } func (m *Restriction) String() string { return proto.CompactTextString(m) }
func (*Restriction) ProtoMessage() {} func (*Restriction) ProtoMessage() {}
func (*Restriction) Descriptor() ([]byte, []int) { func (*Restriction) Descriptor() ([]byte, []int) {
return fileDescriptor_overlay_9a1ccc293c87939d, []int{13} return fileDescriptor_61fc82527fbe24ad, []int{13}
} }
func (m *Restriction) XXX_Unmarshal(b []byte) error { func (m *Restriction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Restriction.Unmarshal(m, b) return xxx_messageInfo_Restriction.Unmarshal(m, b)
@ -678,8 +681,8 @@ func (m *Restriction) XXX_Unmarshal(b []byte) error {
func (m *Restriction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Restriction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Restriction.Marshal(b, m, deterministic) return xxx_messageInfo_Restriction.Marshal(b, m, deterministic)
} }
func (dst *Restriction) XXX_Merge(src proto.Message) { func (m *Restriction) XXX_Merge(src proto.Message) {
xxx_messageInfo_Restriction.Merge(dst, src) xxx_messageInfo_Restriction.Merge(m, src)
} }
func (m *Restriction) XXX_Size() int { func (m *Restriction) XXX_Size() int {
return xxx_messageInfo_Restriction.Size(m) return xxx_messageInfo_Restriction.Size(m)
@ -712,6 +715,8 @@ func (m *Restriction) GetValue() int64 {
} }
func init() { func init() {
proto.RegisterEnum("overlay.Restriction_Operator", Restriction_Operator_name, Restriction_Operator_value)
proto.RegisterEnum("overlay.Restriction_Operand", Restriction_Operand_name, Restriction_Operand_value)
proto.RegisterType((*LookupRequest)(nil), "overlay.LookupRequest") proto.RegisterType((*LookupRequest)(nil), "overlay.LookupRequest")
proto.RegisterType((*LookupResponse)(nil), "overlay.LookupResponse") proto.RegisterType((*LookupResponse)(nil), "overlay.LookupResponse")
proto.RegisterType((*LookupRequests)(nil), "overlay.LookupRequests") proto.RegisterType((*LookupRequests)(nil), "overlay.LookupRequests")
@ -726,8 +731,70 @@ func init() {
proto.RegisterType((*InfoRequest)(nil), "overlay.InfoRequest") proto.RegisterType((*InfoRequest)(nil), "overlay.InfoRequest")
proto.RegisterType((*InfoResponse)(nil), "overlay.InfoResponse") proto.RegisterType((*InfoResponse)(nil), "overlay.InfoResponse")
proto.RegisterType((*Restriction)(nil), "overlay.Restriction") proto.RegisterType((*Restriction)(nil), "overlay.Restriction")
proto.RegisterEnum("overlay.Restriction_Operator", Restriction_Operator_name, Restriction_Operator_value) }
proto.RegisterEnum("overlay.Restriction_Operand", Restriction_Operand_name, Restriction_Operand_value)
func init() { proto.RegisterFile("overlay.proto", fileDescriptor_61fc82527fbe24ad) }
var fileDescriptor_61fc82527fbe24ad = []byte{
// 913 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xdd, 0x8e, 0xdb, 0x44,
0x14, 0x5e, 0xe7, 0xbf, 0x27, 0x89, 0x37, 0x1a, 0xb5, 0xbb, 0x21, 0x40, 0x37, 0x58, 0x15, 0xac,
0x44, 0x95, 0x42, 0x8a, 0x2a, 0xba, 0x02, 0x01, 0x21, 0x69, 0x89, 0x1a, 0x75, 0xe9, 0x24, 0x52,
0x25, 0xb8, 0xb0, 0x1c, 0x7b, 0x6a, 0xcc, 0x3a, 0x1e, 0xe3, 0x19, 0x57, 0x9b, 0x3e, 0x01, 0xd7,
0xbc, 0x04, 0xb7, 0x3c, 0x06, 0xcf, 0xc0, 0xc5, 0x3e, 0x02, 0x0f, 0xc0, 0x15, 0x9a, 0x1f, 0x3b,
0xce, 0x6e, 0x52, 0xf5, 0xca, 0x3e, 0xe7, 0xfb, 0xbe, 0x99, 0xf9, 0xce, 0x9c, 0x33, 0xd0, 0xa6,
0xaf, 0x49, 0x12, 0x3a, 0xeb, 0x41, 0x9c, 0x50, 0x4e, 0x51, 0x5d, 0x87, 0xbd, 0xbb, 0x3e, 0xa5,
0x7e, 0x48, 0x1e, 0xc8, 0xf4, 0x32, 0x7d, 0xf5, 0xc0, 0x4b, 0x13, 0x87, 0x07, 0x34, 0x52, 0xc4,
0x1e, 0xf8, 0xd4, 0xa7, 0xd9, 0x7f, 0x44, 0x3d, 0xa2, 0xfe, 0xad, 0x2f, 0xa1, 0x3d, 0xa3, 0xf4,
0x22, 0x8d, 0x31, 0xf9, 0x2d, 0x25, 0x8c, 0xa3, 0x4f, 0xa0, 0x2e, 0x60, 0x3b, 0xf0, 0xba, 0x46,
0xdf, 0x38, 0x6d, 0x8d, 0xcc, 0xbf, 0xaf, 0x4e, 0x0e, 0xfe, 0xb9, 0x3a, 0xa9, 0x3d, 0xa7, 0x1e,
0x99, 0x8e, 0x71, 0x4d, 0xc0, 0x53, 0xcf, 0xfa, 0x0c, 0xcc, 0x4c, 0xc9, 0x62, 0x1a, 0x31, 0x82,
0xee, 0x42, 0x45, 0x60, 0x52, 0xd7, 0x1c, 0xc2, 0x40, 0x6e, 0x23, 0x54, 0x58, 0xe6, 0xad, 0xf3,
0x8d, 0x42, 0xee, 0xc5, 0xd0, 0xd7, 0x60, 0x86, 0x32, 0x63, 0x27, 0x2a, 0xd5, 0x35, 0xfa, 0xe5,
0xd3, 0xe6, 0xf0, 0x68, 0x90, 0xd9, 0xdc, 0x12, 0xe0, 0x76, 0x58, 0x0c, 0xad, 0x39, 0x1c, 0x6e,
0x1f, 0x81, 0xa1, 0x6f, 0xe1, 0x30, 0x5f, 0x51, 0xe5, 0xf4, 0x92, 0xc7, 0x37, 0x96, 0x54, 0x30,
0x36, 0xc3, 0xad, 0xd8, 0xfa, 0x0a, 0xba, 0x4f, 0x82, 0xc8, 0x9b, 0x73, 0x9a, 0x38, 0x3e, 0x11,
0xc7, 0x67, 0xb9, 0xc3, 0x3e, 0x54, 0x85, 0x13, 0xa6, 0xd7, 0x2c, 0x5a, 0x54, 0x80, 0xf5, 0xaf,
0x01, 0xc7, 0x37, 0xe5, 0xaa, 0xb4, 0x27, 0xd0, 0xa4, 0xcb, 0x5f, 0x89, 0xcb, 0x6d, 0x16, 0xbc,
0x51, 0x65, 0x2a, 0x63, 0x50, 0xa9, 0x79, 0xf0, 0x86, 0xa0, 0x11, 0x1c, 0xba, 0x34, 0xe2, 0x89,
0xe3, 0x72, 0x3b, 0x24, 0x91, 0xcf, 0x7f, 0xe9, 0x96, 0x64, 0x2d, 0xdf, 0x1b, 0xa8, 0xeb, 0x1d,
0x64, 0xd7, 0x3b, 0x18, 0xeb, 0xeb, 0xc5, 0x66, 0xa6, 0x98, 0x49, 0x01, 0xfa, 0x14, 0x2a, 0x34,
0xe6, 0xac, 0x5b, 0x96, 0xc2, 0x8d, 0xeb, 0x73, 0xf5, 0x3d, 0x8f, 0x85, 0x8a, 0x61, 0x49, 0x42,
0xf7, 0xa0, 0xca, 0xb8, 0x93, 0xf0, 0x6e, 0x65, 0xe7, 0x55, 0x2b, 0x10, 0xbd, 0x0f, 0xb7, 0x56,
0x41, 0x64, 0x2b, 0xe7, 0x55, 0x79, 0xea, 0xc6, 0x2a, 0x88, 0xa4, 0x37, 0xeb, 0xcf, 0x12, 0x98,
0xdb, 0x6b, 0xa3, 0x33, 0x68, 0xae, 0x9c, 0x4b, 0x3b, 0x74, 0x38, 0x89, 0xdc, 0xb5, 0x6e, 0x87,
0xb7, 0x58, 0x80, 0x95, 0x73, 0x39, 0x53, 0x64, 0x74, 0x5f, 0xed, 0xc5, 0xb8, 0xc3, 0x99, 0x36,
0x7f, 0xb8, 0xa9, 0xf2, 0x5c, 0xa4, 0xe5, 0xe6, 0xf2, 0x0f, 0xdd, 0x03, 0x53, 0xb2, 0x63, 0x42,
0x3c, 0xfb, 0x62, 0x19, 0x2b, 0xdb, 0x65, 0xdc, 0x12, 0x0c, 0x91, 0x7c, 0xb6, 0x8c, 0x19, 0x3a,
0x82, 0x9a, 0xb3, 0xa2, 0x69, 0xa4, 0x6c, 0x96, 0xb1, 0x8e, 0xd0, 0x19, 0xb4, 0x12, 0xc2, 0x78,
0x12, 0xb8, 0xf2, 0xdc, 0xd2, 0x9a, 0xe8, 0xbd, 0xcd, 0xa5, 0x16, 0x50, 0xbc, 0xc5, 0x45, 0x9f,
0x83, 0x49, 0x2e, 0xdd, 0x30, 0xf5, 0x88, 0xa7, 0x0b, 0x53, 0xeb, 0x97, 0x4f, 0x5b, 0x23, 0x28,
0x94, 0xaf, 0x9d, 0x31, 0x54, 0xa5, 0x7e, 0x37, 0xa0, 0xf5, 0x22, 0x25, 0xc9, 0x3a, 0xeb, 0x07,
0x0b, 0x6a, 0x8c, 0x44, 0x1e, 0x49, 0x76, 0x4c, 0x8c, 0x46, 0x04, 0x87, 0x3b, 0x89, 0x4f, 0xb8,
0x2e, 0xc6, 0x16, 0x47, 0x21, 0xe8, 0x36, 0x54, 0xc3, 0x60, 0x15, 0x70, 0x6d, 0x5e, 0x05, 0xa8,
0x07, 0x8d, 0x38, 0x88, 0xfc, 0xa5, 0xe3, 0x5e, 0x48, 0xdf, 0x0d, 0x9c, 0xc7, 0xd6, 0xcf, 0xd0,
0xd6, 0x27, 0xd1, 0x8d, 0xfd, 0x2e, 0x47, 0xf9, 0x18, 0x1a, 0xf9, 0x4c, 0x95, 0x6e, 0xf4, 0x7f,
0x8e, 0x59, 0x6d, 0x68, 0xfe, 0x18, 0x44, 0x7e, 0x36, 0xa4, 0x26, 0xb4, 0x54, 0xb8, 0x81, 0xa7,
0xd1, 0x2b, 0x9a, 0xc1, 0x7f, 0x18, 0xd0, 0x52, 0x71, 0x7e, 0x94, 0x0a, 0x5f, 0xc7, 0x44, 0xfa,
0x35, 0x87, 0xe6, 0x66, 0x8b, 0xc5, 0x3a, 0x26, 0x58, 0x62, 0x68, 0x00, 0x0d, 0x1a, 0x93, 0xc4,
0xe1, 0x34, 0xd1, 0x8d, 0x8e, 0x36, 0xbc, 0x73, 0x8d, 0xe0, 0x9c, 0x23, 0xf8, 0xae, 0x13, 0x3b,
0x6e, 0xc0, 0xd7, 0xb2, 0x16, 0x5b, 0xfc, 0xef, 0x35, 0x82, 0x73, 0x8e, 0xf5, 0x9f, 0x01, 0xcd,
0xc2, 0xe5, 0xa3, 0xc7, 0x85, 0xfd, 0x0c, 0x79, 0xae, 0x0f, 0xf3, 0xc1, 0x2a, 0xf0, 0x06, 0x3b,
0xb6, 0x7e, 0x04, 0x75, 0xf9, 0x1f, 0x79, 0xda, 0xd1, 0x07, 0xfb, 0x95, 0x91, 0x87, 0x33, 0xb2,
0xb8, 0xd4, 0xd7, 0x4e, 0x98, 0x92, 0xec, 0x52, 0x65, 0x60, 0x7d, 0x01, 0x8d, 0x6c, 0x0f, 0x54,
0x83, 0xd2, 0x6c, 0xd1, 0x39, 0x10, 0xdf, 0xc9, 0x8b, 0x8e, 0x21, 0xbe, 0x4f, 0x17, 0x9d, 0x12,
0xaa, 0x43, 0x79, 0xb6, 0x98, 0x74, 0xca, 0xe2, 0xe7, 0xe9, 0x62, 0xd2, 0xa9, 0x58, 0xf7, 0xa1,
0xae, 0xd7, 0x47, 0x08, 0xcc, 0x27, 0x78, 0x32, 0xb1, 0x47, 0xdf, 0x3d, 0x1f, 0xbf, 0x9c, 0x8e,
0x17, 0x3f, 0x74, 0x0e, 0x50, 0x1b, 0x6e, 0xc9, 0xdc, 0x78, 0x3a, 0x7f, 0xd6, 0x31, 0x86, 0x57,
0x06, 0xd4, 0xf5, 0x44, 0xa3, 0xc7, 0x50, 0x53, 0xcf, 0x25, 0xda, 0xf3, 0x24, 0xf7, 0xf6, 0xbd,
0xab, 0xe8, 0x1b, 0x80, 0x51, 0x1a, 0x5e, 0x68, 0xf9, 0xf1, 0x6e, 0x39, 0xeb, 0x75, 0xf7, 0xe8,
0x19, 0x7a, 0x09, 0x9d, 0xeb, 0x2f, 0x29, 0xea, 0xe7, 0xec, 0x3d, 0x8f, 0x6c, 0xef, 0xa3, 0xb7,
0x30, 0xd4, 0xca, 0xc3, 0xbf, 0x0c, 0xa8, 0xaa, 0xe5, 0x1e, 0x41, 0x55, 0xce, 0x01, 0xba, 0x93,
0xab, 0x8a, 0x13, 0xda, 0x3b, 0xba, 0x9e, 0xd6, 0xde, 0x1e, 0x42, 0x45, 0xf4, 0x34, 0xba, 0x9d,
0xe3, 0x85, 0x8e, 0xef, 0xdd, 0xb9, 0x96, 0xd5, 0xa2, 0x33, 0xd1, 0x53, 0x92, 0x21, 0xfa, 0xbd,
0xa0, 0x2d, 0x8c, 0x43, 0x41, 0x5b, 0x1c, 0x8a, 0x51, 0xe5, 0xa7, 0x52, 0xbc, 0x5c, 0xd6, 0xe4,
0xdb, 0xf9, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x69, 0x04, 0xec, 0x6f, 0x05, 0x08, 0x00,
0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -1003,67 +1070,3 @@ var _Nodes_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "overlay.proto", Metadata: "overlay.proto",
} }
func init() { proto.RegisterFile("overlay.proto", fileDescriptor_overlay_9a1ccc293c87939d) }
var fileDescriptor_overlay_9a1ccc293c87939d = []byte{
// 913 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xdd, 0x8e, 0xdb, 0x44,
0x14, 0x5e, 0xe7, 0xbf, 0x27, 0x89, 0x37, 0x1a, 0xb5, 0xbb, 0x21, 0x40, 0x37, 0x58, 0x15, 0xac,
0x44, 0x95, 0x42, 0x8a, 0x2a, 0xba, 0x02, 0x01, 0x21, 0x69, 0x89, 0x1a, 0x75, 0xe9, 0x24, 0x52,
0x25, 0xb8, 0xb0, 0x1c, 0x7b, 0x6a, 0xcc, 0x3a, 0x1e, 0xe3, 0x19, 0x57, 0x9b, 0x3e, 0x01, 0xd7,
0xbc, 0x04, 0xb7, 0x3c, 0x06, 0xcf, 0xc0, 0xc5, 0x3e, 0x02, 0x0f, 0xc0, 0x15, 0x9a, 0x1f, 0x3b,
0xce, 0x6e, 0x52, 0xf5, 0xca, 0x3e, 0xe7, 0xfb, 0xbe, 0x99, 0xf9, 0xce, 0x9c, 0x33, 0xd0, 0xa6,
0xaf, 0x49, 0x12, 0x3a, 0xeb, 0x41, 0x9c, 0x50, 0x4e, 0x51, 0x5d, 0x87, 0xbd, 0xbb, 0x3e, 0xa5,
0x7e, 0x48, 0x1e, 0xc8, 0xf4, 0x32, 0x7d, 0xf5, 0xc0, 0x4b, 0x13, 0x87, 0x07, 0x34, 0x52, 0xc4,
0x1e, 0xf8, 0xd4, 0xa7, 0xd9, 0x7f, 0x44, 0x3d, 0xa2, 0xfe, 0xad, 0x2f, 0xa1, 0x3d, 0xa3, 0xf4,
0x22, 0x8d, 0x31, 0xf9, 0x2d, 0x25, 0x8c, 0xa3, 0x4f, 0xa0, 0x2e, 0x60, 0x3b, 0xf0, 0xba, 0x46,
0xdf, 0x38, 0x6d, 0x8d, 0xcc, 0xbf, 0xaf, 0x4e, 0x0e, 0xfe, 0xb9, 0x3a, 0xa9, 0x3d, 0xa7, 0x1e,
0x99, 0x8e, 0x71, 0x4d, 0xc0, 0x53, 0xcf, 0xfa, 0x0c, 0xcc, 0x4c, 0xc9, 0x62, 0x1a, 0x31, 0x82,
0xee, 0x42, 0x45, 0x60, 0x52, 0xd7, 0x1c, 0xc2, 0x40, 0x6e, 0x23, 0x54, 0x58, 0xe6, 0xad, 0xf3,
0x8d, 0x42, 0xee, 0xc5, 0xd0, 0xd7, 0x60, 0x86, 0x32, 0x63, 0x27, 0x2a, 0xd5, 0x35, 0xfa, 0xe5,
0xd3, 0xe6, 0xf0, 0x68, 0x90, 0xd9, 0xdc, 0x12, 0xe0, 0x76, 0x58, 0x0c, 0xad, 0x39, 0x1c, 0x6e,
0x1f, 0x81, 0xa1, 0x6f, 0xe1, 0x30, 0x5f, 0x51, 0xe5, 0xf4, 0x92, 0xc7, 0x37, 0x96, 0x54, 0x30,
0x36, 0xc3, 0xad, 0xd8, 0xfa, 0x0a, 0xba, 0x4f, 0x82, 0xc8, 0x9b, 0x73, 0x9a, 0x38, 0x3e, 0x11,
0xc7, 0x67, 0xb9, 0xc3, 0x3e, 0x54, 0x85, 0x13, 0xa6, 0xd7, 0x2c, 0x5a, 0x54, 0x80, 0xf5, 0xaf,
0x01, 0xc7, 0x37, 0xe5, 0xaa, 0xb4, 0x27, 0xd0, 0xa4, 0xcb, 0x5f, 0x89, 0xcb, 0x6d, 0x16, 0xbc,
0x51, 0x65, 0x2a, 0x63, 0x50, 0xa9, 0x79, 0xf0, 0x86, 0xa0, 0x11, 0x1c, 0xba, 0x34, 0xe2, 0x89,
0xe3, 0x72, 0x3b, 0x24, 0x91, 0xcf, 0x7f, 0xe9, 0x96, 0x64, 0x2d, 0xdf, 0x1b, 0xa8, 0xeb, 0x1d,
0x64, 0xd7, 0x3b, 0x18, 0xeb, 0xeb, 0xc5, 0x66, 0xa6, 0x98, 0x49, 0x01, 0xfa, 0x14, 0x2a, 0x34,
0xe6, 0xac, 0x5b, 0x96, 0xc2, 0x8d, 0xeb, 0x73, 0xf5, 0x3d, 0x8f, 0x85, 0x8a, 0x61, 0x49, 0x42,
0xf7, 0xa0, 0xca, 0xb8, 0x93, 0xf0, 0x6e, 0x65, 0xe7, 0x55, 0x2b, 0x10, 0xbd, 0x0f, 0xb7, 0x56,
0x41, 0x64, 0x2b, 0xe7, 0x55, 0x79, 0xea, 0xc6, 0x2a, 0x88, 0xa4, 0x37, 0xeb, 0xcf, 0x12, 0x98,
0xdb, 0x6b, 0xa3, 0x33, 0x68, 0xae, 0x9c, 0x4b, 0x3b, 0x74, 0x38, 0x89, 0xdc, 0xb5, 0x6e, 0x87,
0xb7, 0x58, 0x80, 0x95, 0x73, 0x39, 0x53, 0x64, 0x74, 0x5f, 0xed, 0xc5, 0xb8, 0xc3, 0x99, 0x36,
0x7f, 0xb8, 0xa9, 0xf2, 0x5c, 0xa4, 0xe5, 0xe6, 0xf2, 0x0f, 0xdd, 0x03, 0x53, 0xb2, 0x63, 0x42,
0x3c, 0xfb, 0x62, 0x19, 0x2b, 0xdb, 0x65, 0xdc, 0x12, 0x0c, 0x91, 0x7c, 0xb6, 0x8c, 0x19, 0x3a,
0x82, 0x9a, 0xb3, 0xa2, 0x69, 0xa4, 0x6c, 0x96, 0xb1, 0x8e, 0xd0, 0x19, 0xb4, 0x12, 0xc2, 0x78,
0x12, 0xb8, 0xf2, 0xdc, 0xd2, 0x9a, 0xe8, 0xbd, 0xcd, 0xa5, 0x16, 0x50, 0xbc, 0xc5, 0x45, 0x9f,
0x83, 0x49, 0x2e, 0xdd, 0x30, 0xf5, 0x88, 0xa7, 0x0b, 0x53, 0xeb, 0x97, 0x4f, 0x5b, 0x23, 0x28,
0x94, 0xaf, 0x9d, 0x31, 0x54, 0xa5, 0x7e, 0x37, 0xa0, 0xf5, 0x22, 0x25, 0xc9, 0x3a, 0xeb, 0x07,
0x0b, 0x6a, 0x8c, 0x44, 0x1e, 0x49, 0x76, 0x4c, 0x8c, 0x46, 0x04, 0x87, 0x3b, 0x89, 0x4f, 0xb8,
0x2e, 0xc6, 0x16, 0x47, 0x21, 0xe8, 0x36, 0x54, 0xc3, 0x60, 0x15, 0x70, 0x6d, 0x5e, 0x05, 0xa8,
0x07, 0x8d, 0x38, 0x88, 0xfc, 0xa5, 0xe3, 0x5e, 0x48, 0xdf, 0x0d, 0x9c, 0xc7, 0xd6, 0xcf, 0xd0,
0xd6, 0x27, 0xd1, 0x8d, 0xfd, 0x2e, 0x47, 0xf9, 0x18, 0x1a, 0xf9, 0x4c, 0x95, 0x6e, 0xf4, 0x7f,
0x8e, 0x59, 0x6d, 0x68, 0xfe, 0x18, 0x44, 0x7e, 0x36, 0xa4, 0x26, 0xb4, 0x54, 0xb8, 0x81, 0xa7,
0xd1, 0x2b, 0x9a, 0xc1, 0x7f, 0x18, 0xd0, 0x52, 0x71, 0x7e, 0x94, 0x0a, 0x5f, 0xc7, 0x44, 0xfa,
0x35, 0x87, 0xe6, 0x66, 0x8b, 0xc5, 0x3a, 0x26, 0x58, 0x62, 0x68, 0x00, 0x0d, 0x1a, 0x93, 0xc4,
0xe1, 0x34, 0xd1, 0x8d, 0x8e, 0x36, 0xbc, 0x73, 0x8d, 0xe0, 0x9c, 0x23, 0xf8, 0xae, 0x13, 0x3b,
0x6e, 0xc0, 0xd7, 0xb2, 0x16, 0x5b, 0xfc, 0xef, 0x35, 0x82, 0x73, 0x8e, 0xf5, 0x9f, 0x01, 0xcd,
0xc2, 0xe5, 0xa3, 0xc7, 0x85, 0xfd, 0x0c, 0x79, 0xae, 0x0f, 0xf3, 0xc1, 0x2a, 0xf0, 0x06, 0x3b,
0xb6, 0x7e, 0x04, 0x75, 0xf9, 0x1f, 0x79, 0xda, 0xd1, 0x07, 0xfb, 0x95, 0x91, 0x87, 0x33, 0xb2,
0xb8, 0xd4, 0xd7, 0x4e, 0x98, 0x92, 0xec, 0x52, 0x65, 0x60, 0x7d, 0x01, 0x8d, 0x6c, 0x0f, 0x54,
0x83, 0xd2, 0x6c, 0xd1, 0x39, 0x10, 0xdf, 0xc9, 0x8b, 0x8e, 0x21, 0xbe, 0x4f, 0x17, 0x9d, 0x12,
0xaa, 0x43, 0x79, 0xb6, 0x98, 0x74, 0xca, 0xe2, 0xe7, 0xe9, 0x62, 0xd2, 0xa9, 0x58, 0xf7, 0xa1,
0xae, 0xd7, 0x47, 0x08, 0xcc, 0x27, 0x78, 0x32, 0xb1, 0x47, 0xdf, 0x3d, 0x1f, 0xbf, 0x9c, 0x8e,
0x17, 0x3f, 0x74, 0x0e, 0x50, 0x1b, 0x6e, 0xc9, 0xdc, 0x78, 0x3a, 0x7f, 0xd6, 0x31, 0x86, 0x57,
0x06, 0xd4, 0xf5, 0x44, 0xa3, 0xc7, 0x50, 0x53, 0xcf, 0x25, 0xda, 0xf3, 0x24, 0xf7, 0xf6, 0xbd,
0xab, 0xe8, 0x1b, 0x80, 0x51, 0x1a, 0x5e, 0x68, 0xf9, 0xf1, 0x6e, 0x39, 0xeb, 0x75, 0xf7, 0xe8,
0x19, 0x7a, 0x09, 0x9d, 0xeb, 0x2f, 0x29, 0xea, 0xe7, 0xec, 0x3d, 0x8f, 0x6c, 0xef, 0xa3, 0xb7,
0x30, 0xd4, 0xca, 0xc3, 0xbf, 0x0c, 0xa8, 0xaa, 0xe5, 0x1e, 0x41, 0x55, 0xce, 0x01, 0xba, 0x93,
0xab, 0x8a, 0x13, 0xda, 0x3b, 0xba, 0x9e, 0xd6, 0xde, 0x1e, 0x42, 0x45, 0xf4, 0x34, 0xba, 0x9d,
0xe3, 0x85, 0x8e, 0xef, 0xdd, 0xb9, 0x96, 0xd5, 0xa2, 0x33, 0xd1, 0x53, 0x92, 0x21, 0xfa, 0xbd,
0xa0, 0x2d, 0x8c, 0x43, 0x41, 0x5b, 0x1c, 0x8a, 0x51, 0xe5, 0xa7, 0x52, 0xbc, 0x5c, 0xd6, 0xe4,
0xdb, 0xf9, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x69, 0x04, 0xec, 0x6f, 0x05, 0x08, 0x00,
0x00,
}

View File

@ -3,15 +3,14 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import ( import (
context "golang.org/x/net/context" context "context"
fmt "fmt"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
math "math"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -34,6 +33,7 @@ const (
var RedundancyScheme_SchemeType_name = map[int32]string{ var RedundancyScheme_SchemeType_name = map[int32]string{
0: "RS", 0: "RS",
} }
var RedundancyScheme_SchemeType_value = map[string]int32{ var RedundancyScheme_SchemeType_value = map[string]int32{
"RS": 0, "RS": 0,
} }
@ -41,8 +41,9 @@ var RedundancyScheme_SchemeType_value = map[string]int32{
func (x RedundancyScheme_SchemeType) String() string { func (x RedundancyScheme_SchemeType) String() string {
return proto.EnumName(RedundancyScheme_SchemeType_name, int32(x)) return proto.EnumName(RedundancyScheme_SchemeType_name, int32(x))
} }
func (RedundancyScheme_SchemeType) EnumDescriptor() ([]byte, []int) { func (RedundancyScheme_SchemeType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{0, 0} return fileDescriptor_75fef806d28fc810, []int{0, 0}
} }
type Pointer_DataType int32 type Pointer_DataType int32
@ -56,6 +57,7 @@ var Pointer_DataType_name = map[int32]string{
0: "INLINE", 0: "INLINE",
1: "REMOTE", 1: "REMOTE",
} }
var Pointer_DataType_value = map[string]int32{ var Pointer_DataType_value = map[string]int32{
"INLINE": 0, "INLINE": 0,
"REMOTE": 1, "REMOTE": 1,
@ -64,8 +66,9 @@ var Pointer_DataType_value = map[string]int32{
func (x Pointer_DataType) String() string { func (x Pointer_DataType) String() string {
return proto.EnumName(Pointer_DataType_name, int32(x)) return proto.EnumName(Pointer_DataType_name, int32(x))
} }
func (Pointer_DataType) EnumDescriptor() ([]byte, []int) { func (Pointer_DataType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{3, 0} return fileDescriptor_75fef806d28fc810, []int{3, 0}
} }
type RedundancyScheme struct { type RedundancyScheme struct {
@ -85,7 +88,7 @@ func (m *RedundancyScheme) Reset() { *m = RedundancyScheme{} }
func (m *RedundancyScheme) String() string { return proto.CompactTextString(m) } func (m *RedundancyScheme) String() string { return proto.CompactTextString(m) }
func (*RedundancyScheme) ProtoMessage() {} func (*RedundancyScheme) ProtoMessage() {}
func (*RedundancyScheme) Descriptor() ([]byte, []int) { func (*RedundancyScheme) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{0} return fileDescriptor_75fef806d28fc810, []int{0}
} }
func (m *RedundancyScheme) XXX_Unmarshal(b []byte) error { func (m *RedundancyScheme) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RedundancyScheme.Unmarshal(m, b) return xxx_messageInfo_RedundancyScheme.Unmarshal(m, b)
@ -93,8 +96,8 @@ func (m *RedundancyScheme) XXX_Unmarshal(b []byte) error {
func (m *RedundancyScheme) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RedundancyScheme) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RedundancyScheme.Marshal(b, m, deterministic) return xxx_messageInfo_RedundancyScheme.Marshal(b, m, deterministic)
} }
func (dst *RedundancyScheme) XXX_Merge(src proto.Message) { func (m *RedundancyScheme) XXX_Merge(src proto.Message) {
xxx_messageInfo_RedundancyScheme.Merge(dst, src) xxx_messageInfo_RedundancyScheme.Merge(m, src)
} }
func (m *RedundancyScheme) XXX_Size() int { func (m *RedundancyScheme) XXX_Size() int {
return xxx_messageInfo_RedundancyScheme.Size(m) return xxx_messageInfo_RedundancyScheme.Size(m)
@ -160,7 +163,7 @@ func (m *RemotePiece) Reset() { *m = RemotePiece{} }
func (m *RemotePiece) String() string { return proto.CompactTextString(m) } func (m *RemotePiece) String() string { return proto.CompactTextString(m) }
func (*RemotePiece) ProtoMessage() {} func (*RemotePiece) ProtoMessage() {}
func (*RemotePiece) Descriptor() ([]byte, []int) { func (*RemotePiece) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{1} return fileDescriptor_75fef806d28fc810, []int{1}
} }
func (m *RemotePiece) XXX_Unmarshal(b []byte) error { func (m *RemotePiece) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RemotePiece.Unmarshal(m, b) return xxx_messageInfo_RemotePiece.Unmarshal(m, b)
@ -168,8 +171,8 @@ func (m *RemotePiece) XXX_Unmarshal(b []byte) error {
func (m *RemotePiece) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RemotePiece) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RemotePiece.Marshal(b, m, deterministic) return xxx_messageInfo_RemotePiece.Marshal(b, m, deterministic)
} }
func (dst *RemotePiece) XXX_Merge(src proto.Message) { func (m *RemotePiece) XXX_Merge(src proto.Message) {
xxx_messageInfo_RemotePiece.Merge(dst, src) xxx_messageInfo_RemotePiece.Merge(m, src)
} }
func (m *RemotePiece) XXX_Size() int { func (m *RemotePiece) XXX_Size() int {
return xxx_messageInfo_RemotePiece.Size(m) return xxx_messageInfo_RemotePiece.Size(m)
@ -209,7 +212,7 @@ func (m *RemoteSegment) Reset() { *m = RemoteSegment{} }
func (m *RemoteSegment) String() string { return proto.CompactTextString(m) } func (m *RemoteSegment) String() string { return proto.CompactTextString(m) }
func (*RemoteSegment) ProtoMessage() {} func (*RemoteSegment) ProtoMessage() {}
func (*RemoteSegment) Descriptor() ([]byte, []int) { func (*RemoteSegment) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{2} return fileDescriptor_75fef806d28fc810, []int{2}
} }
func (m *RemoteSegment) XXX_Unmarshal(b []byte) error { func (m *RemoteSegment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RemoteSegment.Unmarshal(m, b) return xxx_messageInfo_RemoteSegment.Unmarshal(m, b)
@ -217,8 +220,8 @@ func (m *RemoteSegment) XXX_Unmarshal(b []byte) error {
func (m *RemoteSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RemoteSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RemoteSegment.Marshal(b, m, deterministic) return xxx_messageInfo_RemoteSegment.Marshal(b, m, deterministic)
} }
func (dst *RemoteSegment) XXX_Merge(src proto.Message) { func (m *RemoteSegment) XXX_Merge(src proto.Message) {
xxx_messageInfo_RemoteSegment.Merge(dst, src) xxx_messageInfo_RemoteSegment.Merge(m, src)
} }
func (m *RemoteSegment) XXX_Size() int { func (m *RemoteSegment) XXX_Size() int {
return xxx_messageInfo_RemoteSegment.Size(m) return xxx_messageInfo_RemoteSegment.Size(m)
@ -274,7 +277,7 @@ func (m *Pointer) Reset() { *m = Pointer{} }
func (m *Pointer) String() string { return proto.CompactTextString(m) } func (m *Pointer) String() string { return proto.CompactTextString(m) }
func (*Pointer) ProtoMessage() {} func (*Pointer) ProtoMessage() {}
func (*Pointer) Descriptor() ([]byte, []int) { func (*Pointer) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{3} return fileDescriptor_75fef806d28fc810, []int{3}
} }
func (m *Pointer) XXX_Unmarshal(b []byte) error { func (m *Pointer) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Pointer.Unmarshal(m, b) return xxx_messageInfo_Pointer.Unmarshal(m, b)
@ -282,8 +285,8 @@ func (m *Pointer) XXX_Unmarshal(b []byte) error {
func (m *Pointer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Pointer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Pointer.Marshal(b, m, deterministic) return xxx_messageInfo_Pointer.Marshal(b, m, deterministic)
} }
func (dst *Pointer) XXX_Merge(src proto.Message) { func (m *Pointer) XXX_Merge(src proto.Message) {
xxx_messageInfo_Pointer.Merge(dst, src) xxx_messageInfo_Pointer.Merge(m, src)
} }
func (m *Pointer) XXX_Size() int { func (m *Pointer) XXX_Size() int {
return xxx_messageInfo_Pointer.Size(m) return xxx_messageInfo_Pointer.Size(m)
@ -356,7 +359,7 @@ func (m *PutRequest) Reset() { *m = PutRequest{} }
func (m *PutRequest) String() string { return proto.CompactTextString(m) } func (m *PutRequest) String() string { return proto.CompactTextString(m) }
func (*PutRequest) ProtoMessage() {} func (*PutRequest) ProtoMessage() {}
func (*PutRequest) Descriptor() ([]byte, []int) { func (*PutRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{4} return fileDescriptor_75fef806d28fc810, []int{4}
} }
func (m *PutRequest) XXX_Unmarshal(b []byte) error { func (m *PutRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PutRequest.Unmarshal(m, b) return xxx_messageInfo_PutRequest.Unmarshal(m, b)
@ -364,8 +367,8 @@ func (m *PutRequest) XXX_Unmarshal(b []byte) error {
func (m *PutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PutRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PutRequest.Marshal(b, m, deterministic) return xxx_messageInfo_PutRequest.Marshal(b, m, deterministic)
} }
func (dst *PutRequest) XXX_Merge(src proto.Message) { func (m *PutRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PutRequest.Merge(dst, src) xxx_messageInfo_PutRequest.Merge(m, src)
} }
func (m *PutRequest) XXX_Size() int { func (m *PutRequest) XXX_Size() int {
return xxx_messageInfo_PutRequest.Size(m) return xxx_messageInfo_PutRequest.Size(m)
@ -402,7 +405,7 @@ func (m *GetRequest) Reset() { *m = GetRequest{} }
func (m *GetRequest) String() string { return proto.CompactTextString(m) } func (m *GetRequest) String() string { return proto.CompactTextString(m) }
func (*GetRequest) ProtoMessage() {} func (*GetRequest) ProtoMessage() {}
func (*GetRequest) Descriptor() ([]byte, []int) { func (*GetRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{5} return fileDescriptor_75fef806d28fc810, []int{5}
} }
func (m *GetRequest) XXX_Unmarshal(b []byte) error { func (m *GetRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetRequest.Unmarshal(m, b) return xxx_messageInfo_GetRequest.Unmarshal(m, b)
@ -410,8 +413,8 @@ func (m *GetRequest) XXX_Unmarshal(b []byte) error {
func (m *GetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *GetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetRequest.Marshal(b, m, deterministic) return xxx_messageInfo_GetRequest.Marshal(b, m, deterministic)
} }
func (dst *GetRequest) XXX_Merge(src proto.Message) { func (m *GetRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetRequest.Merge(dst, src) xxx_messageInfo_GetRequest.Merge(m, src)
} }
func (m *GetRequest) XXX_Size() int { func (m *GetRequest) XXX_Size() int {
return xxx_messageInfo_GetRequest.Size(m) return xxx_messageInfo_GetRequest.Size(m)
@ -446,7 +449,7 @@ func (m *ListRequest) Reset() { *m = ListRequest{} }
func (m *ListRequest) String() string { return proto.CompactTextString(m) } func (m *ListRequest) String() string { return proto.CompactTextString(m) }
func (*ListRequest) ProtoMessage() {} func (*ListRequest) ProtoMessage() {}
func (*ListRequest) Descriptor() ([]byte, []int) { func (*ListRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{6} return fileDescriptor_75fef806d28fc810, []int{6}
} }
func (m *ListRequest) XXX_Unmarshal(b []byte) error { func (m *ListRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListRequest.Unmarshal(m, b) return xxx_messageInfo_ListRequest.Unmarshal(m, b)
@ -454,8 +457,8 @@ func (m *ListRequest) XXX_Unmarshal(b []byte) error {
func (m *ListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListRequest.Marshal(b, m, deterministic) return xxx_messageInfo_ListRequest.Marshal(b, m, deterministic)
} }
func (dst *ListRequest) XXX_Merge(src proto.Message) { func (m *ListRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListRequest.Merge(dst, src) xxx_messageInfo_ListRequest.Merge(m, src)
} }
func (m *ListRequest) XXX_Size() int { func (m *ListRequest) XXX_Size() int {
return xxx_messageInfo_ListRequest.Size(m) return xxx_messageInfo_ListRequest.Size(m)
@ -519,7 +522,7 @@ func (m *PutResponse) Reset() { *m = PutResponse{} }
func (m *PutResponse) String() string { return proto.CompactTextString(m) } func (m *PutResponse) String() string { return proto.CompactTextString(m) }
func (*PutResponse) ProtoMessage() {} func (*PutResponse) ProtoMessage() {}
func (*PutResponse) Descriptor() ([]byte, []int) { func (*PutResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{7} return fileDescriptor_75fef806d28fc810, []int{7}
} }
func (m *PutResponse) XXX_Unmarshal(b []byte) error { func (m *PutResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PutResponse.Unmarshal(m, b) return xxx_messageInfo_PutResponse.Unmarshal(m, b)
@ -527,8 +530,8 @@ func (m *PutResponse) XXX_Unmarshal(b []byte) error {
func (m *PutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PutResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PutResponse.Marshal(b, m, deterministic) return xxx_messageInfo_PutResponse.Marshal(b, m, deterministic)
} }
func (dst *PutResponse) XXX_Merge(src proto.Message) { func (m *PutResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PutResponse.Merge(dst, src) xxx_messageInfo_PutResponse.Merge(m, src)
} }
func (m *PutResponse) XXX_Size() int { func (m *PutResponse) XXX_Size() int {
return xxx_messageInfo_PutResponse.Size(m) return xxx_messageInfo_PutResponse.Size(m)
@ -554,7 +557,7 @@ func (m *GetResponse) Reset() { *m = GetResponse{} }
func (m *GetResponse) String() string { return proto.CompactTextString(m) } func (m *GetResponse) String() string { return proto.CompactTextString(m) }
func (*GetResponse) ProtoMessage() {} func (*GetResponse) ProtoMessage() {}
func (*GetResponse) Descriptor() ([]byte, []int) { func (*GetResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{8} return fileDescriptor_75fef806d28fc810, []int{8}
} }
func (m *GetResponse) XXX_Unmarshal(b []byte) error { func (m *GetResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetResponse.Unmarshal(m, b) return xxx_messageInfo_GetResponse.Unmarshal(m, b)
@ -562,8 +565,8 @@ func (m *GetResponse) XXX_Unmarshal(b []byte) error {
func (m *GetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *GetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetResponse.Marshal(b, m, deterministic) return xxx_messageInfo_GetResponse.Marshal(b, m, deterministic)
} }
func (dst *GetResponse) XXX_Merge(src proto.Message) { func (m *GetResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetResponse.Merge(dst, src) xxx_messageInfo_GetResponse.Merge(m, src)
} }
func (m *GetResponse) XXX_Size() int { func (m *GetResponse) XXX_Size() int {
return xxx_messageInfo_GetResponse.Size(m) return xxx_messageInfo_GetResponse.Size(m)
@ -615,7 +618,7 @@ func (m *ListResponse) Reset() { *m = ListResponse{} }
func (m *ListResponse) String() string { return proto.CompactTextString(m) } func (m *ListResponse) String() string { return proto.CompactTextString(m) }
func (*ListResponse) ProtoMessage() {} func (*ListResponse) ProtoMessage() {}
func (*ListResponse) Descriptor() ([]byte, []int) { func (*ListResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{9} return fileDescriptor_75fef806d28fc810, []int{9}
} }
func (m *ListResponse) XXX_Unmarshal(b []byte) error { func (m *ListResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListResponse.Unmarshal(m, b) return xxx_messageInfo_ListResponse.Unmarshal(m, b)
@ -623,8 +626,8 @@ func (m *ListResponse) XXX_Unmarshal(b []byte) error {
func (m *ListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListResponse.Marshal(b, m, deterministic) return xxx_messageInfo_ListResponse.Marshal(b, m, deterministic)
} }
func (dst *ListResponse) XXX_Merge(src proto.Message) { func (m *ListResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListResponse.Merge(dst, src) xxx_messageInfo_ListResponse.Merge(m, src)
} }
func (m *ListResponse) XXX_Size() int { func (m *ListResponse) XXX_Size() int {
return xxx_messageInfo_ListResponse.Size(m) return xxx_messageInfo_ListResponse.Size(m)
@ -662,7 +665,7 @@ func (m *ListResponse_Item) Reset() { *m = ListResponse_Item{} }
func (m *ListResponse_Item) String() string { return proto.CompactTextString(m) } func (m *ListResponse_Item) String() string { return proto.CompactTextString(m) }
func (*ListResponse_Item) ProtoMessage() {} func (*ListResponse_Item) ProtoMessage() {}
func (*ListResponse_Item) Descriptor() ([]byte, []int) { func (*ListResponse_Item) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{9, 0} return fileDescriptor_75fef806d28fc810, []int{9, 0}
} }
func (m *ListResponse_Item) XXX_Unmarshal(b []byte) error { func (m *ListResponse_Item) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListResponse_Item.Unmarshal(m, b) return xxx_messageInfo_ListResponse_Item.Unmarshal(m, b)
@ -670,8 +673,8 @@ func (m *ListResponse_Item) XXX_Unmarshal(b []byte) error {
func (m *ListResponse_Item) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ListResponse_Item) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListResponse_Item.Marshal(b, m, deterministic) return xxx_messageInfo_ListResponse_Item.Marshal(b, m, deterministic)
} }
func (dst *ListResponse_Item) XXX_Merge(src proto.Message) { func (m *ListResponse_Item) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListResponse_Item.Merge(dst, src) xxx_messageInfo_ListResponse_Item.Merge(m, src)
} }
func (m *ListResponse_Item) XXX_Size() int { func (m *ListResponse_Item) XXX_Size() int {
return xxx_messageInfo_ListResponse_Item.Size(m) return xxx_messageInfo_ListResponse_Item.Size(m)
@ -714,7 +717,7 @@ func (m *DeleteRequest) Reset() { *m = DeleteRequest{} }
func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } func (m *DeleteRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteRequest) ProtoMessage() {} func (*DeleteRequest) ProtoMessage() {}
func (*DeleteRequest) Descriptor() ([]byte, []int) { func (*DeleteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{10} return fileDescriptor_75fef806d28fc810, []int{10}
} }
func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { func (m *DeleteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteRequest.Unmarshal(m, b) return xxx_messageInfo_DeleteRequest.Unmarshal(m, b)
@ -722,8 +725,8 @@ func (m *DeleteRequest) XXX_Unmarshal(b []byte) error {
func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic) return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic)
} }
func (dst *DeleteRequest) XXX_Merge(src proto.Message) { func (m *DeleteRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteRequest.Merge(dst, src) xxx_messageInfo_DeleteRequest.Merge(m, src)
} }
func (m *DeleteRequest) XXX_Size() int { func (m *DeleteRequest) XXX_Size() int {
return xxx_messageInfo_DeleteRequest.Size(m) return xxx_messageInfo_DeleteRequest.Size(m)
@ -752,7 +755,7 @@ func (m *DeleteResponse) Reset() { *m = DeleteResponse{} }
func (m *DeleteResponse) String() string { return proto.CompactTextString(m) } func (m *DeleteResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteResponse) ProtoMessage() {} func (*DeleteResponse) ProtoMessage() {}
func (*DeleteResponse) Descriptor() ([]byte, []int) { func (*DeleteResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{11} return fileDescriptor_75fef806d28fc810, []int{11}
} }
func (m *DeleteResponse) XXX_Unmarshal(b []byte) error { func (m *DeleteResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteResponse.Unmarshal(m, b) return xxx_messageInfo_DeleteResponse.Unmarshal(m, b)
@ -760,8 +763,8 @@ func (m *DeleteResponse) XXX_Unmarshal(b []byte) error {
func (m *DeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *DeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteResponse.Marshal(b, m, deterministic) return xxx_messageInfo_DeleteResponse.Marshal(b, m, deterministic)
} }
func (dst *DeleteResponse) XXX_Merge(src proto.Message) { func (m *DeleteResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteResponse.Merge(dst, src) xxx_messageInfo_DeleteResponse.Merge(m, src)
} }
func (m *DeleteResponse) XXX_Size() int { func (m *DeleteResponse) XXX_Size() int {
return xxx_messageInfo_DeleteResponse.Size(m) return xxx_messageInfo_DeleteResponse.Size(m)
@ -787,7 +790,7 @@ func (m *IterateRequest) Reset() { *m = IterateRequest{} }
func (m *IterateRequest) String() string { return proto.CompactTextString(m) } func (m *IterateRequest) String() string { return proto.CompactTextString(m) }
func (*IterateRequest) ProtoMessage() {} func (*IterateRequest) ProtoMessage() {}
func (*IterateRequest) Descriptor() ([]byte, []int) { func (*IterateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{12} return fileDescriptor_75fef806d28fc810, []int{12}
} }
func (m *IterateRequest) XXX_Unmarshal(b []byte) error { func (m *IterateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IterateRequest.Unmarshal(m, b) return xxx_messageInfo_IterateRequest.Unmarshal(m, b)
@ -795,8 +798,8 @@ func (m *IterateRequest) XXX_Unmarshal(b []byte) error {
func (m *IterateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *IterateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IterateRequest.Marshal(b, m, deterministic) return xxx_messageInfo_IterateRequest.Marshal(b, m, deterministic)
} }
func (dst *IterateRequest) XXX_Merge(src proto.Message) { func (m *IterateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_IterateRequest.Merge(dst, src) xxx_messageInfo_IterateRequest.Merge(m, src)
} }
func (m *IterateRequest) XXX_Size() int { func (m *IterateRequest) XXX_Size() int {
return xxx_messageInfo_IterateRequest.Size(m) return xxx_messageInfo_IterateRequest.Size(m)
@ -846,7 +849,7 @@ func (m *PayerBandwidthAllocationRequest) Reset() { *m = PayerBandwidthA
func (m *PayerBandwidthAllocationRequest) String() string { return proto.CompactTextString(m) } func (m *PayerBandwidthAllocationRequest) String() string { return proto.CompactTextString(m) }
func (*PayerBandwidthAllocationRequest) ProtoMessage() {} func (*PayerBandwidthAllocationRequest) ProtoMessage() {}
func (*PayerBandwidthAllocationRequest) Descriptor() ([]byte, []int) { func (*PayerBandwidthAllocationRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{13} return fileDescriptor_75fef806d28fc810, []int{13}
} }
func (m *PayerBandwidthAllocationRequest) XXX_Unmarshal(b []byte) error { func (m *PayerBandwidthAllocationRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PayerBandwidthAllocationRequest.Unmarshal(m, b) return xxx_messageInfo_PayerBandwidthAllocationRequest.Unmarshal(m, b)
@ -854,8 +857,8 @@ func (m *PayerBandwidthAllocationRequest) XXX_Unmarshal(b []byte) error {
func (m *PayerBandwidthAllocationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PayerBandwidthAllocationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PayerBandwidthAllocationRequest.Marshal(b, m, deterministic) return xxx_messageInfo_PayerBandwidthAllocationRequest.Marshal(b, m, deterministic)
} }
func (dst *PayerBandwidthAllocationRequest) XXX_Merge(src proto.Message) { func (m *PayerBandwidthAllocationRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PayerBandwidthAllocationRequest.Merge(dst, src) xxx_messageInfo_PayerBandwidthAllocationRequest.Merge(m, src)
} }
func (m *PayerBandwidthAllocationRequest) XXX_Size() int { func (m *PayerBandwidthAllocationRequest) XXX_Size() int {
return xxx_messageInfo_PayerBandwidthAllocationRequest.Size(m) return xxx_messageInfo_PayerBandwidthAllocationRequest.Size(m)
@ -884,7 +887,7 @@ func (m *PayerBandwidthAllocationResponse) Reset() { *m = PayerBandwidth
func (m *PayerBandwidthAllocationResponse) String() string { return proto.CompactTextString(m) } func (m *PayerBandwidthAllocationResponse) String() string { return proto.CompactTextString(m) }
func (*PayerBandwidthAllocationResponse) ProtoMessage() {} func (*PayerBandwidthAllocationResponse) ProtoMessage() {}
func (*PayerBandwidthAllocationResponse) Descriptor() ([]byte, []int) { func (*PayerBandwidthAllocationResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_pointerdb_f006c9c16884bc51, []int{14} return fileDescriptor_75fef806d28fc810, []int{14}
} }
func (m *PayerBandwidthAllocationResponse) XXX_Unmarshal(b []byte) error { func (m *PayerBandwidthAllocationResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PayerBandwidthAllocationResponse.Unmarshal(m, b) return xxx_messageInfo_PayerBandwidthAllocationResponse.Unmarshal(m, b)
@ -892,8 +895,8 @@ func (m *PayerBandwidthAllocationResponse) XXX_Unmarshal(b []byte) error {
func (m *PayerBandwidthAllocationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PayerBandwidthAllocationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PayerBandwidthAllocationResponse.Marshal(b, m, deterministic) return xxx_messageInfo_PayerBandwidthAllocationResponse.Marshal(b, m, deterministic)
} }
func (dst *PayerBandwidthAllocationResponse) XXX_Merge(src proto.Message) { func (m *PayerBandwidthAllocationResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PayerBandwidthAllocationResponse.Merge(dst, src) xxx_messageInfo_PayerBandwidthAllocationResponse.Merge(m, src)
} }
func (m *PayerBandwidthAllocationResponse) XXX_Size() int { func (m *PayerBandwidthAllocationResponse) XXX_Size() int {
return xxx_messageInfo_PayerBandwidthAllocationResponse.Size(m) return xxx_messageInfo_PayerBandwidthAllocationResponse.Size(m)
@ -912,6 +915,8 @@ func (m *PayerBandwidthAllocationResponse) GetPba() *PayerBandwidthAllocation {
} }
func init() { func init() {
proto.RegisterEnum("pointerdb.RedundancyScheme_SchemeType", RedundancyScheme_SchemeType_name, RedundancyScheme_SchemeType_value)
proto.RegisterEnum("pointerdb.Pointer_DataType", Pointer_DataType_name, Pointer_DataType_value)
proto.RegisterType((*RedundancyScheme)(nil), "pointerdb.RedundancyScheme") proto.RegisterType((*RedundancyScheme)(nil), "pointerdb.RedundancyScheme")
proto.RegisterType((*RemotePiece)(nil), "pointerdb.RemotePiece") proto.RegisterType((*RemotePiece)(nil), "pointerdb.RemotePiece")
proto.RegisterType((*RemoteSegment)(nil), "pointerdb.RemoteSegment") proto.RegisterType((*RemoteSegment)(nil), "pointerdb.RemoteSegment")
@ -928,8 +933,82 @@ func init() {
proto.RegisterType((*IterateRequest)(nil), "pointerdb.IterateRequest") proto.RegisterType((*IterateRequest)(nil), "pointerdb.IterateRequest")
proto.RegisterType((*PayerBandwidthAllocationRequest)(nil), "pointerdb.PayerBandwidthAllocationRequest") proto.RegisterType((*PayerBandwidthAllocationRequest)(nil), "pointerdb.PayerBandwidthAllocationRequest")
proto.RegisterType((*PayerBandwidthAllocationResponse)(nil), "pointerdb.PayerBandwidthAllocationResponse") proto.RegisterType((*PayerBandwidthAllocationResponse)(nil), "pointerdb.PayerBandwidthAllocationResponse")
proto.RegisterEnum("pointerdb.RedundancyScheme_SchemeType", RedundancyScheme_SchemeType_name, RedundancyScheme_SchemeType_value) }
proto.RegisterEnum("pointerdb.Pointer_DataType", Pointer_DataType_name, Pointer_DataType_value)
func init() { proto.RegisterFile("pointerdb.proto", fileDescriptor_75fef806d28fc810) }
var fileDescriptor_75fef806d28fc810 = []byte{
// 1114 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x5d, 0x6f, 0x1b, 0x45,
0x17, 0xee, 0xfa, 0x33, 0x3e, 0x6b, 0xa7, 0x7e, 0x47, 0x7d, 0xd3, 0xad, 0x5b, 0x94, 0x74, 0x11,
0x50, 0xda, 0xca, 0xad, 0x4c, 0x25, 0x04, 0x05, 0xa1, 0x86, 0x84, 0x62, 0xa9, 0x0d, 0xd1, 0x24,
0x57, 0x08, 0x69, 0x99, 0x78, 0x4f, 0xec, 0x11, 0xde, 0x8f, 0xce, 0xcc, 0x96, 0xa6, 0xf7, 0xfc,
0x08, 0xfe, 0x09, 0x37, 0x5c, 0x22, 0xf1, 0x1b, 0xb8, 0xe8, 0x05, 0xe2, 0x67, 0x70, 0x81, 0xe6,
0x63, 0xed, 0x75, 0x83, 0x53, 0x04, 0x37, 0xc9, 0x9e, 0x73, 0x9e, 0x73, 0xe6, 0xcc, 0x79, 0x9e,
0x39, 0x86, 0xcb, 0x79, 0xc6, 0x53, 0x85, 0x22, 0x3e, 0x19, 0xe6, 0x22, 0x53, 0x19, 0xe9, 0x2c,
0x1c, 0x83, 0xed, 0x69, 0x96, 0x4d, 0xe7, 0x78, 0xcf, 0x04, 0x4e, 0x8a, 0xd3, 0x7b, 0x8a, 0x27,
0x28, 0x15, 0x4b, 0x72, 0x8b, 0x1d, 0xc0, 0x34, 0x9b, 0x66, 0xe5, 0x77, 0x9a, 0xc5, 0xe8, 0xbe,
0xfb, 0x39, 0xc7, 0x09, 0x4a, 0x95, 0x09, 0xe7, 0x09, 0x7f, 0xac, 0x41, 0x9f, 0x62, 0x5c, 0xa4,
0x31, 0x4b, 0x27, 0x67, 0x47, 0x93, 0x19, 0x26, 0x48, 0x3e, 0x86, 0x86, 0x3a, 0xcb, 0x31, 0xf0,
0x76, 0xbc, 0x5b, 0x9b, 0xa3, 0x77, 0x87, 0xcb, 0x56, 0x5e, 0x87, 0x0e, 0xed, 0xbf, 0xe3, 0xb3,
0x1c, 0xa9, 0xc9, 0x21, 0x57, 0xa1, 0x9d, 0xf0, 0x34, 0x12, 0xf8, 0x2c, 0xa8, 0xed, 0x78, 0xb7,
0x9a, 0xb4, 0x95, 0xf0, 0x94, 0xe2, 0x33, 0x72, 0x05, 0x9a, 0x2a, 0x53, 0x6c, 0x1e, 0xd4, 0x8d,
0xdb, 0x1a, 0xe4, 0x7d, 0xe8, 0x0b, 0xcc, 0x19, 0x17, 0x91, 0x9a, 0x09, 0x94, 0xb3, 0x6c, 0x1e,
0x07, 0x0d, 0x03, 0xb8, 0x6c, 0xfd, 0xc7, 0xa5, 0x9b, 0xdc, 0x81, 0xff, 0xc9, 0x62, 0x32, 0x41,
0x29, 0x2b, 0xd8, 0xa6, 0xc1, 0xf6, 0x5d, 0x60, 0x09, 0xbe, 0x0b, 0x04, 0x05, 0x93, 0x85, 0xc0,
0x48, 0xce, 0x98, 0xfe, 0xcb, 0x5f, 0x62, 0xd0, 0xb2, 0x68, 0x17, 0x39, 0xd2, 0x81, 0x23, 0xfe,
0x12, 0xc3, 0x2b, 0x00, 0xcb, 0x8b, 0x90, 0x16, 0xd4, 0xe8, 0x51, 0xff, 0x52, 0xf8, 0x83, 0x07,
0x3e, 0xc5, 0x24, 0x53, 0x78, 0xa8, 0xc7, 0x46, 0xae, 0x43, 0xc7, 0xcc, 0x2f, 0x4a, 0x8b, 0xc4,
0xcc, 0xa6, 0x49, 0x37, 0x8c, 0xe3, 0xa0, 0x48, 0xc8, 0x7b, 0xd0, 0xd6, 0x83, 0x8e, 0x78, 0x6c,
0xee, 0xdd, 0xdd, 0xdd, 0xfc, 0xf5, 0xd5, 0xf6, 0xa5, 0xdf, 0x5e, 0x6d, 0xb7, 0x0e, 0xb2, 0x18,
0xc7, 0x7b, 0xb4, 0xa5, 0xc3, 0xe3, 0x98, 0xdc, 0x87, 0xc6, 0x8c, 0xc9, 0x99, 0x19, 0x83, 0x3f,
0xba, 0x31, 0x5c, 0x52, 0x22, 0xb2, 0x42, 0xa1, 0x1c, 0x1e, 0xf1, 0x69, 0x8a, 0xf1, 0x97, 0x4c,
0xce, 0xa8, 0x41, 0x86, 0xbf, 0x78, 0xd0, 0xb3, 0x7d, 0x1c, 0xe1, 0x34, 0xc1, 0x54, 0x91, 0x87,
0x00, 0x62, 0xc1, 0x84, 0x69, 0xc5, 0x1f, 0x5d, 0xbf, 0x80, 0x26, 0x5a, 0x81, 0x93, 0x6b, 0x60,
0xbb, 0x2e, 0x5b, 0xed, 0xd0, 0xb6, 0xb1, 0xc7, 0x31, 0x79, 0x08, 0x3d, 0x61, 0x0e, 0x8a, 0x6c,
0x57, 0x41, 0x7d, 0xa7, 0x7e, 0xcb, 0x1f, 0x6d, 0xad, 0x94, 0x5e, 0x0c, 0x84, 0x76, 0xc5, 0xd2,
0x90, 0x64, 0x1b, 0xfc, 0x04, 0xc5, 0x77, 0x73, 0x8c, 0x44, 0x96, 0x29, 0xc3, 0x62, 0x97, 0x82,
0x75, 0xd1, 0x2c, 0x53, 0xe1, 0x9f, 0x35, 0x68, 0x1f, 0xda, 0x42, 0xe4, 0xde, 0x8a, 0xc4, 0xaa,
0xbd, 0x3b, 0xc4, 0x70, 0x8f, 0x29, 0x56, 0xd1, 0xd5, 0x3b, 0xb0, 0xc9, 0xd3, 0x39, 0x4f, 0x31,
0x92, 0x76, 0x08, 0x66, 0x80, 0x5d, 0xda, 0xb3, 0xde, 0x72, 0x32, 0xf7, 0xa1, 0x65, 0x9b, 0x32,
0xe7, 0xfb, 0xa3, 0xe0, 0x5c, 0xeb, 0x0e, 0x49, 0x1d, 0x8e, 0xdc, 0x84, 0xae, 0xab, 0x68, 0x35,
0xa2, 0x15, 0x55, 0xa7, 0xbe, 0xf3, 0x69, 0x79, 0x90, 0xcf, 0xa0, 0x37, 0x11, 0xc8, 0x14, 0xcf,
0xd2, 0x28, 0x66, 0xca, 0xea, 0xc8, 0x1f, 0x0d, 0x86, 0xf6, 0x1d, 0x0e, 0xcb, 0x77, 0x38, 0x3c,
0x2e, 0xdf, 0x21, 0xed, 0x96, 0x09, 0x7b, 0x4c, 0x21, 0xf9, 0x1c, 0x2e, 0xe3, 0x8b, 0x9c, 0x8b,
0x4a, 0x89, 0xf6, 0x1b, 0x4b, 0x6c, 0x2e, 0x53, 0x4c, 0x91, 0x01, 0x6c, 0x24, 0xa8, 0x58, 0xcc,
0x14, 0x0b, 0x36, 0xcc, 0xdd, 0x17, 0x76, 0x18, 0xc2, 0x46, 0x39, 0x2f, 0x02, 0xd0, 0x1a, 0x1f,
0x3c, 0x19, 0x1f, 0xec, 0xf7, 0x2f, 0xe9, 0x6f, 0xba, 0xff, 0xf4, 0xab, 0xe3, 0xfd, 0xbe, 0x17,
0x1e, 0x00, 0x1c, 0x16, 0x8a, 0xe2, 0xb3, 0x02, 0xa5, 0x22, 0x04, 0x1a, 0x39, 0x53, 0x33, 0x43,
0x40, 0x87, 0x9a, 0x6f, 0x72, 0x17, 0xda, 0x6e, 0x5a, 0x46, 0x18, 0xfe, 0x88, 0x9c, 0xe7, 0x85,
0x96, 0x90, 0x70, 0x07, 0xe0, 0x31, 0x5e, 0x54, 0x2f, 0xfc, 0xc9, 0x03, 0xff, 0x09, 0x97, 0x0b,
0xcc, 0x16, 0xb4, 0x72, 0x81, 0xa7, 0xfc, 0x85, 0x43, 0x39, 0x4b, 0x2b, 0x47, 0x2a, 0x26, 0x54,
0xc4, 0x4e, 0xcb, 0xb3, 0x3b, 0x14, 0x8c, 0xeb, 0x91, 0xf6, 0x90, 0xb7, 0x00, 0x30, 0x8d, 0xa3,
0x13, 0x3c, 0xcd, 0x04, 0x1a, 0xe2, 0x3b, 0xb4, 0x83, 0x69, 0xbc, 0x6b, 0x1c, 0xe4, 0x06, 0x74,
0x04, 0x4e, 0x0a, 0x21, 0xf9, 0x73, 0xcb, 0xfb, 0x06, 0x5d, 0x3a, 0xf4, 0xe2, 0x99, 0xf3, 0x84,
0x2b, 0xb7, 0x2b, 0xac, 0xa1, 0x4b, 0xea, 0xe9, 0x45, 0xa7, 0x73, 0x36, 0x95, 0x86, 0xd0, 0x36,
0xed, 0x68, 0xcf, 0x17, 0xda, 0x11, 0xf6, 0xc0, 0x37, 0xc3, 0x92, 0x79, 0x96, 0x4a, 0x0c, 0x7f,
0xf7, 0xc0, 0x37, 0x97, 0xb5, 0x76, 0x75, 0x52, 0xde, 0x1b, 0x27, 0x45, 0x76, 0xa0, 0xa9, 0x1f,
0xbf, 0x0c, 0x6a, 0xe6, 0x39, 0xc1, 0xd0, 0xac, 0x64, 0xbd, 0x17, 0xa8, 0x0d, 0x90, 0x4f, 0xa0,
0x9e, 0x9f, 0x30, 0xb7, 0x13, 0x6e, 0x9f, 0xdf, 0x09, 0x87, 0xec, 0x0c, 0xc5, 0x2e, 0x4b, 0xe3,
0xef, 0x79, 0xac, 0x66, 0x8f, 0xe6, 0xf3, 0x6c, 0x62, 0x84, 0x41, 0x75, 0x1a, 0xd9, 0x87, 0x1e,
0x2b, 0xd4, 0x2c, 0x13, 0xfc, 0xa5, 0xf1, 0x3a, 0xed, 0x6f, 0xaf, 0xdb, 0x2d, 0x4f, 0x51, 0x4a,
0x36, 0x45, 0xba, 0x9a, 0x15, 0xfe, 0xec, 0x41, 0xd7, 0xd2, 0xe5, 0x6e, 0x39, 0x82, 0x26, 0x57,
0x98, 0xc8, 0xc0, 0x33, 0x7d, 0xdf, 0xa8, 0xdc, 0xb1, 0x8a, 0x1b, 0x8e, 0x15, 0x26, 0xd4, 0x42,
0xb5, 0x0e, 0x12, 0x4d, 0x52, 0xcd, 0xd0, 0x60, 0xbe, 0x07, 0x08, 0x0d, 0x0d, 0xf9, 0xef, 0x9a,
0xd3, 0x2b, 0x98, 0xcb, 0xc8, 0x89, 0xa8, 0x6e, 0x8e, 0xd8, 0xe0, 0xf2, 0xd0, 0xd8, 0xe1, 0xdb,
0xd0, 0xdb, 0xc3, 0x39, 0x2a, 0xbc, 0x48, 0x93, 0x7d, 0xd8, 0x2c, 0x41, 0x8e, 0x5b, 0x01, 0x9b,
0x63, 0x85, 0x82, 0x2d, 0xf3, 0xd6, 0xe9, 0xf4, 0x0a, 0x34, 0x4f, 0xb9, 0x90, 0xca, 0x29, 0xd4,
0x1a, 0x24, 0x80, 0xb6, 0x15, 0x1b, 0xba, 0x8e, 0x4a, 0xd3, 0x46, 0x9e, 0xa3, 0x8e, 0x34, 0xca,
0x88, 0x31, 0xc3, 0x6f, 0x60, 0x7b, 0x2d, 0xa5, 0xae, 0x89, 0x8f, 0xa0, 0xc5, 0x26, 0x86, 0x4d,
0xbb, 0x23, 0x6f, 0x9e, 0x67, 0x73, 0x99, 0x6d, 0x80, 0xd4, 0x25, 0x84, 0xdf, 0xc2, 0xce, 0xfa,
0xea, 0x8e, 0x5b, 0xa7, 0x38, 0xef, 0x5f, 0x29, 0x6e, 0xf4, 0x47, 0x0d, 0x3a, 0x8e, 0x9c, 0xbd,
0x5d, 0xf2, 0x00, 0xea, 0x87, 0x85, 0x22, 0xff, 0xaf, 0x32, 0xb7, 0xd8, 0x34, 0x83, 0xad, 0xd7,
0xdd, 0xae, 0x83, 0x07, 0x50, 0x7f, 0x8c, 0xab, 0x59, 0xcb, 0x7d, 0xb2, 0x92, 0x55, 0x7d, 0x79,
0x1f, 0x42, 0x43, 0x6b, 0x8f, 0x6c, 0x9d, 0x13, 0xa3, 0xcd, 0xbb, 0xba, 0x46, 0xa4, 0xe4, 0x53,
0x68, 0x59, 0xe2, 0x49, 0xf5, 0x37, 0x61, 0x45, 0x30, 0x83, 0x6b, 0x7f, 0x13, 0x71, 0xe9, 0x12,
0x82, 0x75, 0x23, 0x21, 0xb7, 0xab, 0x37, 0xbc, 0x98, 0xd6, 0xc1, 0x9d, 0x7f, 0x84, 0xb5, 0x87,
0xee, 0x36, 0xbe, 0xae, 0xe5, 0x27, 0x27, 0x2d, 0xf3, 0xe3, 0xf0, 0xc1, 0x5f, 0x01, 0x00, 0x00,
0xff, 0xff, 0x93, 0x3d, 0x6a, 0x1d, 0x13, 0x0a, 0x00, 0x00,
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -1145,79 +1224,3 @@ var _PointerDB_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "pointerdb.proto", Metadata: "pointerdb.proto",
} }
func init() { proto.RegisterFile("pointerdb.proto", fileDescriptor_pointerdb_f006c9c16884bc51) }
var fileDescriptor_pointerdb_f006c9c16884bc51 = []byte{
// 1114 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x5d, 0x6f, 0x1b, 0x45,
0x17, 0xee, 0xfa, 0x33, 0x3e, 0x6b, 0xa7, 0x7e, 0x47, 0x7d, 0xd3, 0xad, 0x5b, 0x94, 0x74, 0x11,
0x50, 0xda, 0xca, 0xad, 0x4c, 0x25, 0x04, 0x05, 0xa1, 0x86, 0x84, 0x62, 0xa9, 0x0d, 0xd1, 0x24,
0x57, 0x08, 0x69, 0x99, 0x78, 0x4f, 0xec, 0x11, 0xde, 0x8f, 0xce, 0xcc, 0x96, 0xa6, 0xf7, 0xfc,
0x08, 0xfe, 0x09, 0x37, 0x5c, 0x22, 0xf1, 0x1b, 0xb8, 0xe8, 0x05, 0xe2, 0x67, 0x70, 0x81, 0xe6,
0x63, 0xed, 0x75, 0x83, 0x53, 0x04, 0x37, 0xc9, 0x9e, 0x73, 0x9e, 0x73, 0xe6, 0xcc, 0x79, 0x9e,
0x39, 0x86, 0xcb, 0x79, 0xc6, 0x53, 0x85, 0x22, 0x3e, 0x19, 0xe6, 0x22, 0x53, 0x19, 0xe9, 0x2c,
0x1c, 0x83, 0xed, 0x69, 0x96, 0x4d, 0xe7, 0x78, 0xcf, 0x04, 0x4e, 0x8a, 0xd3, 0x7b, 0x8a, 0x27,
0x28, 0x15, 0x4b, 0x72, 0x8b, 0x1d, 0xc0, 0x34, 0x9b, 0x66, 0xe5, 0x77, 0x9a, 0xc5, 0xe8, 0xbe,
0xfb, 0x39, 0xc7, 0x09, 0x4a, 0x95, 0x09, 0xe7, 0x09, 0x7f, 0xac, 0x41, 0x9f, 0x62, 0x5c, 0xa4,
0x31, 0x4b, 0x27, 0x67, 0x47, 0x93, 0x19, 0x26, 0x48, 0x3e, 0x86, 0x86, 0x3a, 0xcb, 0x31, 0xf0,
0x76, 0xbc, 0x5b, 0x9b, 0xa3, 0x77, 0x87, 0xcb, 0x56, 0x5e, 0x87, 0x0e, 0xed, 0xbf, 0xe3, 0xb3,
0x1c, 0xa9, 0xc9, 0x21, 0x57, 0xa1, 0x9d, 0xf0, 0x34, 0x12, 0xf8, 0x2c, 0xa8, 0xed, 0x78, 0xb7,
0x9a, 0xb4, 0x95, 0xf0, 0x94, 0xe2, 0x33, 0x72, 0x05, 0x9a, 0x2a, 0x53, 0x6c, 0x1e, 0xd4, 0x8d,
0xdb, 0x1a, 0xe4, 0x7d, 0xe8, 0x0b, 0xcc, 0x19, 0x17, 0x91, 0x9a, 0x09, 0x94, 0xb3, 0x6c, 0x1e,
0x07, 0x0d, 0x03, 0xb8, 0x6c, 0xfd, 0xc7, 0xa5, 0x9b, 0xdc, 0x81, 0xff, 0xc9, 0x62, 0x32, 0x41,
0x29, 0x2b, 0xd8, 0xa6, 0xc1, 0xf6, 0x5d, 0x60, 0x09, 0xbe, 0x0b, 0x04, 0x05, 0x93, 0x85, 0xc0,
0x48, 0xce, 0x98, 0xfe, 0xcb, 0x5f, 0x62, 0xd0, 0xb2, 0x68, 0x17, 0x39, 0xd2, 0x81, 0x23, 0xfe,
0x12, 0xc3, 0x2b, 0x00, 0xcb, 0x8b, 0x90, 0x16, 0xd4, 0xe8, 0x51, 0xff, 0x52, 0xf8, 0x83, 0x07,
0x3e, 0xc5, 0x24, 0x53, 0x78, 0xa8, 0xc7, 0x46, 0xae, 0x43, 0xc7, 0xcc, 0x2f, 0x4a, 0x8b, 0xc4,
0xcc, 0xa6, 0x49, 0x37, 0x8c, 0xe3, 0xa0, 0x48, 0xc8, 0x7b, 0xd0, 0xd6, 0x83, 0x8e, 0x78, 0x6c,
0xee, 0xdd, 0xdd, 0xdd, 0xfc, 0xf5, 0xd5, 0xf6, 0xa5, 0xdf, 0x5e, 0x6d, 0xb7, 0x0e, 0xb2, 0x18,
0xc7, 0x7b, 0xb4, 0xa5, 0xc3, 0xe3, 0x98, 0xdc, 0x87, 0xc6, 0x8c, 0xc9, 0x99, 0x19, 0x83, 0x3f,
0xba, 0x31, 0x5c, 0x52, 0x22, 0xb2, 0x42, 0xa1, 0x1c, 0x1e, 0xf1, 0x69, 0x8a, 0xf1, 0x97, 0x4c,
0xce, 0xa8, 0x41, 0x86, 0xbf, 0x78, 0xd0, 0xb3, 0x7d, 0x1c, 0xe1, 0x34, 0xc1, 0x54, 0x91, 0x87,
0x00, 0x62, 0xc1, 0x84, 0x69, 0xc5, 0x1f, 0x5d, 0xbf, 0x80, 0x26, 0x5a, 0x81, 0x93, 0x6b, 0x60,
0xbb, 0x2e, 0x5b, 0xed, 0xd0, 0xb6, 0xb1, 0xc7, 0x31, 0x79, 0x08, 0x3d, 0x61, 0x0e, 0x8a, 0x6c,
0x57, 0x41, 0x7d, 0xa7, 0x7e, 0xcb, 0x1f, 0x6d, 0xad, 0x94, 0x5e, 0x0c, 0x84, 0x76, 0xc5, 0xd2,
0x90, 0x64, 0x1b, 0xfc, 0x04, 0xc5, 0x77, 0x73, 0x8c, 0x44, 0x96, 0x29, 0xc3, 0x62, 0x97, 0x82,
0x75, 0xd1, 0x2c, 0x53, 0xe1, 0x9f, 0x35, 0x68, 0x1f, 0xda, 0x42, 0xe4, 0xde, 0x8a, 0xc4, 0xaa,
0xbd, 0x3b, 0xc4, 0x70, 0x8f, 0x29, 0x56, 0xd1, 0xd5, 0x3b, 0xb0, 0xc9, 0xd3, 0x39, 0x4f, 0x31,
0x92, 0x76, 0x08, 0x66, 0x80, 0x5d, 0xda, 0xb3, 0xde, 0x72, 0x32, 0xf7, 0xa1, 0x65, 0x9b, 0x32,
0xe7, 0xfb, 0xa3, 0xe0, 0x5c, 0xeb, 0x0e, 0x49, 0x1d, 0x8e, 0xdc, 0x84, 0xae, 0xab, 0x68, 0x35,
0xa2, 0x15, 0x55, 0xa7, 0xbe, 0xf3, 0x69, 0x79, 0x90, 0xcf, 0xa0, 0x37, 0x11, 0xc8, 0x14, 0xcf,
0xd2, 0x28, 0x66, 0xca, 0xea, 0xc8, 0x1f, 0x0d, 0x86, 0xf6, 0x1d, 0x0e, 0xcb, 0x77, 0x38, 0x3c,
0x2e, 0xdf, 0x21, 0xed, 0x96, 0x09, 0x7b, 0x4c, 0x21, 0xf9, 0x1c, 0x2e, 0xe3, 0x8b, 0x9c, 0x8b,
0x4a, 0x89, 0xf6, 0x1b, 0x4b, 0x6c, 0x2e, 0x53, 0x4c, 0x91, 0x01, 0x6c, 0x24, 0xa8, 0x58, 0xcc,
0x14, 0x0b, 0x36, 0xcc, 0xdd, 0x17, 0x76, 0x18, 0xc2, 0x46, 0x39, 0x2f, 0x02, 0xd0, 0x1a, 0x1f,
0x3c, 0x19, 0x1f, 0xec, 0xf7, 0x2f, 0xe9, 0x6f, 0xba, 0xff, 0xf4, 0xab, 0xe3, 0xfd, 0xbe, 0x17,
0x1e, 0x00, 0x1c, 0x16, 0x8a, 0xe2, 0xb3, 0x02, 0xa5, 0x22, 0x04, 0x1a, 0x39, 0x53, 0x33, 0x43,
0x40, 0x87, 0x9a, 0x6f, 0x72, 0x17, 0xda, 0x6e, 0x5a, 0x46, 0x18, 0xfe, 0x88, 0x9c, 0xe7, 0x85,
0x96, 0x90, 0x70, 0x07, 0xe0, 0x31, 0x5e, 0x54, 0x2f, 0xfc, 0xc9, 0x03, 0xff, 0x09, 0x97, 0x0b,
0xcc, 0x16, 0xb4, 0x72, 0x81, 0xa7, 0xfc, 0x85, 0x43, 0x39, 0x4b, 0x2b, 0x47, 0x2a, 0x26, 0x54,
0xc4, 0x4e, 0xcb, 0xb3, 0x3b, 0x14, 0x8c, 0xeb, 0x91, 0xf6, 0x90, 0xb7, 0x00, 0x30, 0x8d, 0xa3,
0x13, 0x3c, 0xcd, 0x04, 0x1a, 0xe2, 0x3b, 0xb4, 0x83, 0x69, 0xbc, 0x6b, 0x1c, 0xe4, 0x06, 0x74,
0x04, 0x4e, 0x0a, 0x21, 0xf9, 0x73, 0xcb, 0xfb, 0x06, 0x5d, 0x3a, 0xf4, 0xe2, 0x99, 0xf3, 0x84,
0x2b, 0xb7, 0x2b, 0xac, 0xa1, 0x4b, 0xea, 0xe9, 0x45, 0xa7, 0x73, 0x36, 0x95, 0x86, 0xd0, 0x36,
0xed, 0x68, 0xcf, 0x17, 0xda, 0x11, 0xf6, 0xc0, 0x37, 0xc3, 0x92, 0x79, 0x96, 0x4a, 0x0c, 0x7f,
0xf7, 0xc0, 0x37, 0x97, 0xb5, 0x76, 0x75, 0x52, 0xde, 0x1b, 0x27, 0x45, 0x76, 0xa0, 0xa9, 0x1f,
0xbf, 0x0c, 0x6a, 0xe6, 0x39, 0xc1, 0xd0, 0xac, 0x64, 0xbd, 0x17, 0xa8, 0x0d, 0x90, 0x4f, 0xa0,
0x9e, 0x9f, 0x30, 0xb7, 0x13, 0x6e, 0x9f, 0xdf, 0x09, 0x87, 0xec, 0x0c, 0xc5, 0x2e, 0x4b, 0xe3,
0xef, 0x79, 0xac, 0x66, 0x8f, 0xe6, 0xf3, 0x6c, 0x62, 0x84, 0x41, 0x75, 0x1a, 0xd9, 0x87, 0x1e,
0x2b, 0xd4, 0x2c, 0x13, 0xfc, 0xa5, 0xf1, 0x3a, 0xed, 0x6f, 0xaf, 0xdb, 0x2d, 0x4f, 0x51, 0x4a,
0x36, 0x45, 0xba, 0x9a, 0x15, 0xfe, 0xec, 0x41, 0xd7, 0xd2, 0xe5, 0x6e, 0x39, 0x82, 0x26, 0x57,
0x98, 0xc8, 0xc0, 0x33, 0x7d, 0xdf, 0xa8, 0xdc, 0xb1, 0x8a, 0x1b, 0x8e, 0x15, 0x26, 0xd4, 0x42,
0xb5, 0x0e, 0x12, 0x4d, 0x52, 0xcd, 0xd0, 0x60, 0xbe, 0x07, 0x08, 0x0d, 0x0d, 0xf9, 0xef, 0x9a,
0xd3, 0x2b, 0x98, 0xcb, 0xc8, 0x89, 0xa8, 0x6e, 0x8e, 0xd8, 0xe0, 0xf2, 0xd0, 0xd8, 0xe1, 0xdb,
0xd0, 0xdb, 0xc3, 0x39, 0x2a, 0xbc, 0x48, 0x93, 0x7d, 0xd8, 0x2c, 0x41, 0x8e, 0x5b, 0x01, 0x9b,
0x63, 0x85, 0x82, 0x2d, 0xf3, 0xd6, 0xe9, 0xf4, 0x0a, 0x34, 0x4f, 0xb9, 0x90, 0xca, 0x29, 0xd4,
0x1a, 0x24, 0x80, 0xb6, 0x15, 0x1b, 0xba, 0x8e, 0x4a, 0xd3, 0x46, 0x9e, 0xa3, 0x8e, 0x34, 0xca,
0x88, 0x31, 0xc3, 0x6f, 0x60, 0x7b, 0x2d, 0xa5, 0xae, 0x89, 0x8f, 0xa0, 0xc5, 0x26, 0x86, 0x4d,
0xbb, 0x23, 0x6f, 0x9e, 0x67, 0x73, 0x99, 0x6d, 0x80, 0xd4, 0x25, 0x84, 0xdf, 0xc2, 0xce, 0xfa,
0xea, 0x8e, 0x5b, 0xa7, 0x38, 0xef, 0x5f, 0x29, 0x6e, 0xf4, 0x47, 0x0d, 0x3a, 0x8e, 0x9c, 0xbd,
0x5d, 0xf2, 0x00, 0xea, 0x87, 0x85, 0x22, 0xff, 0xaf, 0x32, 0xb7, 0xd8, 0x34, 0x83, 0xad, 0xd7,
0xdd, 0xae, 0x83, 0x07, 0x50, 0x7f, 0x8c, 0xab, 0x59, 0xcb, 0x7d, 0xb2, 0x92, 0x55, 0x7d, 0x79,
0x1f, 0x42, 0x43, 0x6b, 0x8f, 0x6c, 0x9d, 0x13, 0xa3, 0xcd, 0xbb, 0xba, 0x46, 0xa4, 0xe4, 0x53,
0x68, 0x59, 0xe2, 0x49, 0xf5, 0x37, 0x61, 0x45, 0x30, 0x83, 0x6b, 0x7f, 0x13, 0x71, 0xe9, 0x12,
0x82, 0x75, 0x23, 0x21, 0xb7, 0xab, 0x37, 0xbc, 0x98, 0xd6, 0xc1, 0x9d, 0x7f, 0x84, 0xb5, 0x87,
0xee, 0x36, 0xbe, 0xae, 0xe5, 0x27, 0x27, 0x2d, 0xf3, 0xe3, 0xf0, 0xc1, 0x5f, 0x01, 0x00, 0x00,
0xff, 0xff, 0x93, 0x3d, 0x6a, 0x1d, 0x13, 0x0a, 0x00, 0x00,
}

View File

@ -3,9 +3,11 @@
package pb package pb
import proto "github.com/gogo/protobuf/proto" import (
import fmt "fmt" fmt "fmt"
import math "math" proto "github.com/gogo/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal var _ = proto.Marshal
@ -30,7 +32,7 @@ func (m *SegmentMeta) Reset() { *m = SegmentMeta{} }
func (m *SegmentMeta) String() string { return proto.CompactTextString(m) } func (m *SegmentMeta) String() string { return proto.CompactTextString(m) }
func (*SegmentMeta) ProtoMessage() {} func (*SegmentMeta) ProtoMessage() {}
func (*SegmentMeta) Descriptor() ([]byte, []int) { func (*SegmentMeta) Descriptor() ([]byte, []int) {
return fileDescriptor_streams_bbbe703970d9d652, []int{0} return fileDescriptor_c6bbf8af0ec331d6, []int{0}
} }
func (m *SegmentMeta) XXX_Unmarshal(b []byte) error { func (m *SegmentMeta) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SegmentMeta.Unmarshal(m, b) return xxx_messageInfo_SegmentMeta.Unmarshal(m, b)
@ -38,8 +40,8 @@ func (m *SegmentMeta) XXX_Unmarshal(b []byte) error {
func (m *SegmentMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *SegmentMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SegmentMeta.Marshal(b, m, deterministic) return xxx_messageInfo_SegmentMeta.Marshal(b, m, deterministic)
} }
func (dst *SegmentMeta) XXX_Merge(src proto.Message) { func (m *SegmentMeta) XXX_Merge(src proto.Message) {
xxx_messageInfo_SegmentMeta.Merge(dst, src) xxx_messageInfo_SegmentMeta.Merge(m, src)
} }
func (m *SegmentMeta) XXX_Size() int { func (m *SegmentMeta) XXX_Size() int {
return xxx_messageInfo_SegmentMeta.Size(m) return xxx_messageInfo_SegmentMeta.Size(m)
@ -78,7 +80,7 @@ func (m *StreamInfo) Reset() { *m = StreamInfo{} }
func (m *StreamInfo) String() string { return proto.CompactTextString(m) } func (m *StreamInfo) String() string { return proto.CompactTextString(m) }
func (*StreamInfo) ProtoMessage() {} func (*StreamInfo) ProtoMessage() {}
func (*StreamInfo) Descriptor() ([]byte, []int) { func (*StreamInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_streams_bbbe703970d9d652, []int{1} return fileDescriptor_c6bbf8af0ec331d6, []int{1}
} }
func (m *StreamInfo) XXX_Unmarshal(b []byte) error { func (m *StreamInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StreamInfo.Unmarshal(m, b) return xxx_messageInfo_StreamInfo.Unmarshal(m, b)
@ -86,8 +88,8 @@ func (m *StreamInfo) XXX_Unmarshal(b []byte) error {
func (m *StreamInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *StreamInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StreamInfo.Marshal(b, m, deterministic) return xxx_messageInfo_StreamInfo.Marshal(b, m, deterministic)
} }
func (dst *StreamInfo) XXX_Merge(src proto.Message) { func (m *StreamInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_StreamInfo.Merge(dst, src) xxx_messageInfo_StreamInfo.Merge(m, src)
} }
func (m *StreamInfo) XXX_Size() int { func (m *StreamInfo) XXX_Size() int {
return xxx_messageInfo_StreamInfo.Size(m) return xxx_messageInfo_StreamInfo.Size(m)
@ -140,7 +142,7 @@ func (m *StreamMeta) Reset() { *m = StreamMeta{} }
func (m *StreamMeta) String() string { return proto.CompactTextString(m) } func (m *StreamMeta) String() string { return proto.CompactTextString(m) }
func (*StreamMeta) ProtoMessage() {} func (*StreamMeta) ProtoMessage() {}
func (*StreamMeta) Descriptor() ([]byte, []int) { func (*StreamMeta) Descriptor() ([]byte, []int) {
return fileDescriptor_streams_bbbe703970d9d652, []int{2} return fileDescriptor_c6bbf8af0ec331d6, []int{2}
} }
func (m *StreamMeta) XXX_Unmarshal(b []byte) error { func (m *StreamMeta) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StreamMeta.Unmarshal(m, b) return xxx_messageInfo_StreamMeta.Unmarshal(m, b)
@ -148,8 +150,8 @@ func (m *StreamMeta) XXX_Unmarshal(b []byte) error {
func (m *StreamMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *StreamMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StreamMeta.Marshal(b, m, deterministic) return xxx_messageInfo_StreamMeta.Marshal(b, m, deterministic)
} }
func (dst *StreamMeta) XXX_Merge(src proto.Message) { func (m *StreamMeta) XXX_Merge(src proto.Message) {
xxx_messageInfo_StreamMeta.Merge(dst, src) xxx_messageInfo_StreamMeta.Merge(m, src)
} }
func (m *StreamMeta) XXX_Size() int { func (m *StreamMeta) XXX_Size() int {
return xxx_messageInfo_StreamMeta.Size(m) return xxx_messageInfo_StreamMeta.Size(m)
@ -194,9 +196,9 @@ func init() {
proto.RegisterType((*StreamMeta)(nil), "streams.StreamMeta") proto.RegisterType((*StreamMeta)(nil), "streams.StreamMeta")
} }
func init() { proto.RegisterFile("streams.proto", fileDescriptor_streams_bbbe703970d9d652) } func init() { proto.RegisterFile("streams.proto", fileDescriptor_c6bbf8af0ec331d6) }
var fileDescriptor_streams_bbbe703970d9d652 = []byte{ var fileDescriptor_c6bbf8af0ec331d6 = []byte{
// 304 bytes of a gzipped FileDescriptorProto // 304 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x51, 0xcb, 0x4e, 0xc3, 0x30, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x51, 0xcb, 0x4e, 0xc3, 0x30,
0x10, 0x54, 0x5f, 0x50, 0xb6, 0x29, 0x05, 0x03, 0x52, 0x04, 0x17, 0x14, 0x0e, 0x20, 0x84, 0x7a, 0x10, 0x54, 0x5f, 0x50, 0xb6, 0x29, 0x05, 0x03, 0x52, 0x04, 0x17, 0x14, 0x0e, 0x20, 0x84, 0x7a,

View File

@ -154,8 +154,9 @@ type Peer struct {
} }
Repair struct { Repair struct {
Checker *checker.Checker Checker *checker.Checker
Repairer *repairer.Service Repairer *repairer.Service
Inspector *irreparable.Inspector
} }
Audit struct { Audit struct {
Service *audit.Service Service *audit.Service
@ -339,6 +340,8 @@ func New(log *zap.Logger, full *identity.FullIdentity, db DB, config *Config) (*
config.Repairer.PointerDBAddr = peer.Addr() config.Repairer.PointerDBAddr = peer.Addr()
} }
peer.Repair.Repairer = repairer.NewService(peer.DB.RepairQueue(), &config.Repairer, peer.Transport, config.Repairer.Interval, config.Repairer.MaxRepair) peer.Repair.Repairer = repairer.NewService(peer.DB.RepairQueue(), &config.Repairer, peer.Transport, config.Repairer.Interval, config.Repairer.MaxRepair)
peer.Repair.Inspector = irreparable.NewInspector(peer.DB.Irreparable())
pb.RegisterIrreparableInspectorServer(peer.Server.PrivateGRPC(), peer.Repair.Inspector)
} }
{ // setup audit { // setup audit

View File

@ -15,7 +15,7 @@ model bwagreement (
) )
//--- datarepair.irreparableDB ---// //--- irreparableDB ---//
model irreparabledb ( model irreparabledb (
key segmentpath key segmentpath
@ -36,6 +36,11 @@ read one (
where irreparabledb.segmentpath = ? where irreparabledb.segmentpath = ?
) )
read limitoffset (
select irreparabledb
orderby asc irreparabledb.segmentpath
)
//--- accounting ---// //--- accounting ---//
// accounting_timestamps just allows us to save the last time/thing that happened // accounting_timestamps just allows us to save the last time/thing that happened

View File

@ -3266,6 +3266,41 @@ func (obj *postgresImpl) Get_Irreparabledb_By_Segmentpath(ctx context.Context,
} }
func (obj *postgresImpl) Limited_Irreparabledb_OrderBy_Asc_Segmentpath(ctx context.Context,
limit int, offset int64) (
rows []*Irreparabledb, err error) {
var __embed_stmt = __sqlbundle_Literal("SELECT irreparabledbs.segmentpath, irreparabledbs.segmentdetail, irreparabledbs.pieces_lost_count, irreparabledbs.seg_damaged_unix_sec, irreparabledbs.repair_attempt_count FROM irreparabledbs ORDER BY irreparabledbs.segmentpath LIMIT ? OFFSET ?")
var __values []interface{}
__values = append(__values)
__values = append(__values, limit, offset)
var __stmt = __sqlbundle_Render(obj.dialect, __embed_stmt)
obj.logStmt(__stmt, __values...)
__rows, err := obj.driver.Query(__stmt, __values...)
if err != nil {
return nil, obj.makeErr(err)
}
defer __rows.Close()
for __rows.Next() {
irreparabledb := &Irreparabledb{}
err = __rows.Scan(&irreparabledb.Segmentpath, &irreparabledb.Segmentdetail, &irreparabledb.PiecesLostCount, &irreparabledb.SegDamagedUnixSec, &irreparabledb.RepairAttemptCount)
if err != nil {
return nil, obj.makeErr(err)
}
rows = append(rows, irreparabledb)
}
if err := __rows.Err(); err != nil {
return nil, obj.makeErr(err)
}
return rows, nil
}
func (obj *postgresImpl) Find_AccountingTimestamps_Value_By_Name(ctx context.Context, func (obj *postgresImpl) Find_AccountingTimestamps_Value_By_Name(ctx context.Context,
accounting_timestamps_name AccountingTimestamps_Name_Field) ( accounting_timestamps_name AccountingTimestamps_Name_Field) (
row *Value_Row, err error) { row *Value_Row, err error) {
@ -5386,6 +5421,41 @@ func (obj *sqlite3Impl) Get_Irreparabledb_By_Segmentpath(ctx context.Context,
} }
func (obj *sqlite3Impl) Limited_Irreparabledb_OrderBy_Asc_Segmentpath(ctx context.Context,
limit int, offset int64) (
rows []*Irreparabledb, err error) {
var __embed_stmt = __sqlbundle_Literal("SELECT irreparabledbs.segmentpath, irreparabledbs.segmentdetail, irreparabledbs.pieces_lost_count, irreparabledbs.seg_damaged_unix_sec, irreparabledbs.repair_attempt_count FROM irreparabledbs ORDER BY irreparabledbs.segmentpath LIMIT ? OFFSET ?")
var __values []interface{}
__values = append(__values)
__values = append(__values, limit, offset)
var __stmt = __sqlbundle_Render(obj.dialect, __embed_stmt)
obj.logStmt(__stmt, __values...)
__rows, err := obj.driver.Query(__stmt, __values...)
if err != nil {
return nil, obj.makeErr(err)
}
defer __rows.Close()
for __rows.Next() {
irreparabledb := &Irreparabledb{}
err = __rows.Scan(&irreparabledb.Segmentpath, &irreparabledb.Segmentdetail, &irreparabledb.PiecesLostCount, &irreparabledb.SegDamagedUnixSec, &irreparabledb.RepairAttemptCount)
if err != nil {
return nil, obj.makeErr(err)
}
rows = append(rows, irreparabledb)
}
if err := __rows.Err(); err != nil {
return nil, obj.makeErr(err)
}
return rows, nil
}
func (obj *sqlite3Impl) Find_AccountingTimestamps_Value_By_Name(ctx context.Context, func (obj *sqlite3Impl) Find_AccountingTimestamps_Value_By_Name(ctx context.Context,
accounting_timestamps_name AccountingTimestamps_Name_Field) ( accounting_timestamps_name AccountingTimestamps_Name_Field) (
row *Value_Row, err error) { row *Value_Row, err error) {
@ -7996,6 +8066,16 @@ func (rx *Rx) Limited_Injuredsegment(ctx context.Context,
return tx.Limited_Injuredsegment(ctx, limit, offset) return tx.Limited_Injuredsegment(ctx, limit, offset)
} }
func (rx *Rx) Limited_Irreparabledb_OrderBy_Asc_Segmentpath(ctx context.Context,
limit int, offset int64) (
rows []*Irreparabledb, err error) {
var tx *Tx
if tx, err = rx.getTx(ctx); err != nil {
return
}
return tx.Limited_Irreparabledb_OrderBy_Asc_Segmentpath(ctx, limit, offset)
}
func (rx *Rx) Limited_OverlayCacheNode_By_NodeId_GreaterOrEqual(ctx context.Context, func (rx *Rx) Limited_OverlayCacheNode_By_NodeId_GreaterOrEqual(ctx context.Context,
overlay_cache_node_node_id_greater_or_equal OverlayCacheNode_NodeId_Field, overlay_cache_node_node_id_greater_or_equal OverlayCacheNode_NodeId_Field,
limit int, offset int64) ( limit int, offset int64) (
@ -8370,6 +8450,10 @@ type Methods interface {
limit int, offset int64) ( limit int, offset int64) (
rows []*Injuredsegment, err error) rows []*Injuredsegment, err error)
Limited_Irreparabledb_OrderBy_Asc_Segmentpath(ctx context.Context,
limit int, offset int64) (
rows []*Irreparabledb, err error)
Limited_OverlayCacheNode_By_NodeId_GreaterOrEqual(ctx context.Context, Limited_OverlayCacheNode_By_NodeId_GreaterOrEqual(ctx context.Context,
overlay_cache_node_node_id_greater_or_equal OverlayCacheNode_NodeId_Field, overlay_cache_node_node_id_greater_or_equal OverlayCacheNode_NodeId_Field,
limit int, offset int64) ( limit int, offset int64) (

View File

@ -6,7 +6,9 @@ package satellitedb
import ( import (
"context" "context"
"storj.io/storj/pkg/datarepair/irreparable" "github.com/golang/protobuf/proto"
"storj.io/storj/pkg/pb"
"storj.io/storj/pkg/utils" "storj.io/storj/pkg/utils"
dbx "storj.io/storj/satellite/satellitedb/dbx" dbx "storj.io/storj/satellite/satellitedb/dbx"
) )
@ -16,21 +18,26 @@ type irreparableDB struct {
} }
// IncrementRepairAttempts a db entry for to increment the repair attempts field // IncrementRepairAttempts a db entry for to increment the repair attempts field
func (db *irreparableDB) IncrementRepairAttempts(ctx context.Context, segmentInfo *irreparable.RemoteSegmentInfo) (err error) { func (db *irreparableDB) IncrementRepairAttempts(ctx context.Context, segmentInfo *pb.IrreparableSegment) (err error) {
tx, err := db.db.Open(ctx) tx, err := db.db.Open(ctx)
if err != nil { if err != nil {
return Error.Wrap(err) return Error.Wrap(err)
} }
dbxInfo, err := tx.Get_Irreparabledb_By_Segmentpath(ctx, dbx.Irreparabledb_Segmentpath(segmentInfo.EncryptedSegmentPath)) bytes, err := proto.Marshal(segmentInfo.SegmentDetail)
if err != nil {
return err
}
dbxInfo, err := tx.Get_Irreparabledb_By_Segmentpath(ctx, dbx.Irreparabledb_Segmentpath(segmentInfo.Path))
if err != nil { if err != nil {
// no rows err, so create/insert an entry // no rows err, so create/insert an entry
_, err = tx.Create_Irreparabledb( _, err = tx.Create_Irreparabledb(
ctx, ctx,
dbx.Irreparabledb_Segmentpath(segmentInfo.EncryptedSegmentPath), dbx.Irreparabledb_Segmentpath(segmentInfo.Path),
dbx.Irreparabledb_Segmentdetail(segmentInfo.EncryptedSegmentDetail), dbx.Irreparabledb_Segmentdetail(bytes),
dbx.Irreparabledb_PiecesLostCount(segmentInfo.LostPiecesCount), dbx.Irreparabledb_PiecesLostCount(int64(segmentInfo.LostPieces)),
dbx.Irreparabledb_SegDamagedUnixSec(segmentInfo.RepairUnixSec), dbx.Irreparabledb_SegDamagedUnixSec(segmentInfo.LastRepairAttempt),
dbx.Irreparabledb_RepairAttemptCount(segmentInfo.RepairAttemptCount), dbx.Irreparabledb_RepairAttemptCount(segmentInfo.RepairAttemptCount),
) )
if err != nil { if err != nil {
@ -41,7 +48,7 @@ func (db *irreparableDB) IncrementRepairAttempts(ctx context.Context, segmentInf
dbxInfo.RepairAttemptCount++ dbxInfo.RepairAttemptCount++
updateFields := dbx.Irreparabledb_Update_Fields{} updateFields := dbx.Irreparabledb_Update_Fields{}
updateFields.RepairAttemptCount = dbx.Irreparabledb_RepairAttemptCount(dbxInfo.RepairAttemptCount) updateFields.RepairAttemptCount = dbx.Irreparabledb_RepairAttemptCount(dbxInfo.RepairAttemptCount)
updateFields.SegDamagedUnixSec = dbx.Irreparabledb_SegDamagedUnixSec(segmentInfo.RepairUnixSec) updateFields.SegDamagedUnixSec = dbx.Irreparabledb_SegDamagedUnixSec(segmentInfo.LastRepairAttempt)
_, err = tx.Update_Irreparabledb_By_Segmentpath( _, err = tx.Update_Irreparabledb_By_Segmentpath(
ctx, ctx,
dbx.Irreparabledb_Segmentpath(dbxInfo.Segmentpath), dbx.Irreparabledb_Segmentpath(dbxInfo.Segmentpath),
@ -56,21 +63,53 @@ func (db *irreparableDB) IncrementRepairAttempts(ctx context.Context, segmentInf
} }
// Get a irreparable's segment info from the db // Get a irreparable's segment info from the db
func (db *irreparableDB) Get(ctx context.Context, segmentPath []byte) (resp *irreparable.RemoteSegmentInfo, err error) { func (db *irreparableDB) Get(ctx context.Context, segmentPath []byte) (resp *pb.IrreparableSegment, err error) {
dbxInfo, err := db.db.Get_Irreparabledb_By_Segmentpath(ctx, dbx.Irreparabledb_Segmentpath(segmentPath)) dbxInfo, err := db.db.Get_Irreparabledb_By_Segmentpath(ctx, dbx.Irreparabledb_Segmentpath(segmentPath))
if err != nil { if err != nil {
return &irreparable.RemoteSegmentInfo{}, Error.Wrap(err) return &pb.IrreparableSegment{}, Error.Wrap(err)
} }
return &irreparable.RemoteSegmentInfo{ p := &pb.Pointer{}
EncryptedSegmentPath: dbxInfo.Segmentpath,
EncryptedSegmentDetail: dbxInfo.Segmentdetail, err = proto.Unmarshal(dbxInfo.Segmentdetail, p)
LostPiecesCount: dbxInfo.PiecesLostCount, if err != nil {
RepairUnixSec: dbxInfo.SegDamagedUnixSec, return &pb.IrreparableSegment{}, err
RepairAttemptCount: dbxInfo.RepairAttemptCount, }
return &pb.IrreparableSegment{
Path: dbxInfo.Segmentpath,
SegmentDetail: p,
LostPieces: int32(dbxInfo.PiecesLostCount),
LastRepairAttempt: dbxInfo.SegDamagedUnixSec,
RepairAttemptCount: dbxInfo.RepairAttemptCount,
}, nil }, nil
} }
// Getlimited number of irreparable segments by offset
func (db *irreparableDB) GetLimited(ctx context.Context, limit int, offset int64) (resp []*pb.IrreparableSegment, err error) {
rows, err := db.db.Limited_Irreparabledb_OrderBy_Asc_Segmentpath(ctx, limit, offset)
if err != nil {
return nil, err
}
for _, row := range rows {
p := &pb.Pointer{}
err = proto.Unmarshal(row.Segmentdetail, p)
if err != nil {
return nil, err
}
segment := &pb.IrreparableSegment{
Path: row.Segmentpath,
SegmentDetail: p,
LostPieces: int32(row.PiecesLostCount),
LastRepairAttempt: row.SegDamagedUnixSec,
RepairAttemptCount: row.RepairAttemptCount,
}
resp = append(resp, segment)
}
return resp, err
}
// Delete a irreparable's segment info from the db // Delete a irreparable's segment info from the db
func (db *irreparableDB) Delete(ctx context.Context, segmentPath []byte) (err error) { func (db *irreparableDB) Delete(ctx context.Context, segmentPath []byte) (err error) {
_, err = db.db.Delete_Irreparabledb_By_Segmentpath(ctx, dbx.Irreparabledb_Segmentpath(segmentPath)) _, err = db.db.Delete_Irreparabledb_By_Segmentpath(ctx, dbx.Irreparabledb_Segmentpath(segmentPath))

View File

@ -479,14 +479,21 @@ func (m *lockedIrreparable) Delete(ctx context.Context, segmentPath []byte) erro
} }
// Get returns irreparable segment info based on segmentPath. // Get returns irreparable segment info based on segmentPath.
func (m *lockedIrreparable) Get(ctx context.Context, segmentPath []byte) (*irreparable.RemoteSegmentInfo, error) { func (m *lockedIrreparable) Get(ctx context.Context, segmentPath []byte) (*pb.IrreparableSegment, error) {
m.Lock() m.Lock()
defer m.Unlock() defer m.Unlock()
return m.db.Get(ctx, segmentPath) return m.db.Get(ctx, segmentPath)
} }
// GetLimited gets a limited number of irreparable segments by offset
func (m *lockedIrreparable) GetLimited(ctx context.Context, limit int, offset int64) ([]*pb.IrreparableSegment, error) {
m.Lock()
defer m.Unlock()
return m.db.GetLimited(ctx, limit, offset)
}
// IncrementRepairAttempts increments the repair attempts. // IncrementRepairAttempts increments the repair attempts.
func (m *lockedIrreparable) IncrementRepairAttempts(ctx context.Context, segmentInfo *irreparable.RemoteSegmentInfo) error { func (m *lockedIrreparable) IncrementRepairAttempts(ctx context.Context, segmentInfo *pb.IrreparableSegment) error {
m.Lock() m.Lock()
defer m.Unlock() defer m.Unlock()
return m.db.IncrementRepairAttempts(ctx, segmentInfo) return m.db.IncrementRepairAttempts(ctx, segmentInfo)