Слияние кода завершено, страница обновится автоматически
//
//Copyright 2018-2022 Mailgun Technologies Inc
//
//Licensed under the Apache License, Version 2.0 (the "License");
//you may not use this file except in compliance with the License.
//You may obtain a copy of the License at
//
//http://www.apache.org/licenses/LICENSE-2.0
//
//Unless required by applicable law or agreed to in writing, software
//distributed under the License is distributed on an "AS IS" BASIS,
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//See the License for the specific language governing permissions and
//limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.32.0
// protoc (unknown)
// source: peers.proto
package gubernator
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type GetPeerRateLimitsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Must specify at least one RateLimit. The peer that recives this request MUST be authoritative for
// each rate_limit[x].unique_key provided, as the peer will not forward the request to any other peers
Requests []*RateLimitReq `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
}
func (x *GetPeerRateLimitsReq) Reset() {
*x = GetPeerRateLimitsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_peers_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetPeerRateLimitsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetPeerRateLimitsReq) ProtoMessage() {}
func (x *GetPeerRateLimitsReq) ProtoReflect() protoreflect.Message {
mi := &file_peers_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetPeerRateLimitsReq.ProtoReflect.Descriptor instead.
func (*GetPeerRateLimitsReq) Descriptor() ([]byte, []int) {
return file_peers_proto_rawDescGZIP(), []int{0}
}
func (x *GetPeerRateLimitsReq) GetRequests() []*RateLimitReq {
if x != nil {
return x.Requests
}
return nil
}
type GetPeerRateLimitsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Responses are in the same order as they appeared in the PeerRateLimitRequests
RateLimits []*RateLimitResp `protobuf:"bytes,1,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"`
}
func (x *GetPeerRateLimitsResp) Reset() {
*x = GetPeerRateLimitsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_peers_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetPeerRateLimitsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetPeerRateLimitsResp) ProtoMessage() {}
func (x *GetPeerRateLimitsResp) ProtoReflect() protoreflect.Message {
mi := &file_peers_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetPeerRateLimitsResp.ProtoReflect.Descriptor instead.
func (*GetPeerRateLimitsResp) Descriptor() ([]byte, []int) {
return file_peers_proto_rawDescGZIP(), []int{1}
}
func (x *GetPeerRateLimitsResp) GetRateLimits() []*RateLimitResp {
if x != nil {
return x.RateLimits
}
return nil
}
type UpdatePeerGlobalsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Must specify at least one RateLimit
Globals []*UpdatePeerGlobal `protobuf:"bytes,1,rep,name=globals,proto3" json:"globals,omitempty"`
}
func (x *UpdatePeerGlobalsReq) Reset() {
*x = UpdatePeerGlobalsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_peers_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdatePeerGlobalsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdatePeerGlobalsReq) ProtoMessage() {}
func (x *UpdatePeerGlobalsReq) ProtoReflect() protoreflect.Message {
mi := &file_peers_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdatePeerGlobalsReq.ProtoReflect.Descriptor instead.
func (*UpdatePeerGlobalsReq) Descriptor() ([]byte, []int) {
return file_peers_proto_rawDescGZIP(), []int{2}
}
func (x *UpdatePeerGlobalsReq) GetGlobals() []*UpdatePeerGlobal {
if x != nil {
return x.Globals
}
return nil
}
type UpdatePeerGlobal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Uniquely identifies this rate limit IE: 'ip:10.2.10.7' or 'account:123445'
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Status *RateLimitResp `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
// The algorithm used to calculate the rate limit. The algorithm may change on
// subsequent requests, when this occurs any previous rate limit hit counts are reset.
Algorithm Algorithm `protobuf:"varint,3,opt,name=algorithm,proto3,enum=pb.gubernator.Algorithm" json:"algorithm,omitempty"`
// The duration of the rate limit in milliseconds
Duration int64 `protobuf:"varint,4,opt,name=duration,proto3" json:"duration,omitempty"`
// The exact time the original request was created in Epoch milliseconds.
// Due to time drift between systems, it may be advantageous for a client to
// set the exact time the request was created. It possible the system clock
// for the client has drifted from the system clock where gubernator daemon
// is running.
//
// The created time is used by gubernator to calculate the reset time for
// both token and leaky algorithms. If it is not set by the client,
// gubernator will set the created time when it receives the rate limit
// request.
CreatedAt int64 `protobuf:"varint,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
}
func (x *UpdatePeerGlobal) Reset() {
*x = UpdatePeerGlobal{}
if protoimpl.UnsafeEnabled {
mi := &file_peers_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdatePeerGlobal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdatePeerGlobal) ProtoMessage() {}
func (x *UpdatePeerGlobal) ProtoReflect() protoreflect.Message {
mi := &file_peers_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdatePeerGlobal.ProtoReflect.Descriptor instead.
func (*UpdatePeerGlobal) Descriptor() ([]byte, []int) {
return file_peers_proto_rawDescGZIP(), []int{3}
}
func (x *UpdatePeerGlobal) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *UpdatePeerGlobal) GetStatus() *RateLimitResp {
if x != nil {
return x.Status
}
return nil
}
func (x *UpdatePeerGlobal) GetAlgorithm() Algorithm {
if x != nil {
return x.Algorithm
}
return Algorithm_TOKEN_BUCKET
}
func (x *UpdatePeerGlobal) GetDuration() int64 {
if x != nil {
return x.Duration
}
return 0
}
func (x *UpdatePeerGlobal) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
type UpdatePeerGlobalsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdatePeerGlobalsResp) Reset() {
*x = UpdatePeerGlobalsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_peers_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdatePeerGlobalsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdatePeerGlobalsResp) ProtoMessage() {}
func (x *UpdatePeerGlobalsResp) ProtoReflect() protoreflect.Message {
mi := &file_peers_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdatePeerGlobalsResp.ProtoReflect.Descriptor instead.
func (*UpdatePeerGlobalsResp) Descriptor() ([]byte, []int) {
return file_peers_proto_rawDescGZIP(), []int{4}
}
var File_peers_proto protoreflect.FileDescriptor
var file_peers_proto_rawDesc = []byte{
0x0a, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x70,
0x62, 0x2e, 0x67, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x10, 0x67, 0x75,
0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f,
0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x75,
0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x52, 0x65, 0x71, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22,
0x56, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69,
0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0b, 0x72, 0x61, 0x74, 0x65,
0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x70, 0x62, 0x2e, 0x67, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x61,
0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x72, 0x61, 0x74,
0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x51, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12,
0x39, 0x0a, 0x07, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61,
0x6c, 0x52, 0x07, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x10, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f,
0x72, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x52,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72,
0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x2e,
0x67, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72,
0x69, 0x74, 0x68, 0x6d, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12,
0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x52,
0x65, 0x73, 0x70, 0x32, 0xcd, 0x01, 0x0a, 0x07, 0x50, 0x65, 0x65, 0x72, 0x73, 0x56, 0x31, 0x12,
0x60, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69,
0x6d, 0x69, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x75, 0x62, 0x65, 0x72, 0x6e,
0x61, 0x74, 0x6f, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65,
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x67,
0x75, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65,
0x72, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22,
0x00, 0x12, 0x60, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x67, 0x75, 0x62, 0x65,
0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65,
0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x70, 0x62,
0x2e, 0x67, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73,
0x70, 0x22, 0x00, 0x42, 0x22, 0x5a, 0x1d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x6d, 0x61, 0x69, 0x6c, 0x67, 0x75, 0x6e, 0x2f, 0x67, 0x75, 0x62, 0x65, 0x72, 0x6e,
0x61, 0x74, 0x6f, 0x72, 0x80, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_peers_proto_rawDescOnce sync.Once
file_peers_proto_rawDescData = file_peers_proto_rawDesc
)
func file_peers_proto_rawDescGZIP() []byte {
file_peers_proto_rawDescOnce.Do(func() {
file_peers_proto_rawDescData = protoimpl.X.CompressGZIP(file_peers_proto_rawDescData)
})
return file_peers_proto_rawDescData
}
var file_peers_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_peers_proto_goTypes = []interface{}{
(*GetPeerRateLimitsReq)(nil), // 0: pb.gubernator.GetPeerRateLimitsReq
(*GetPeerRateLimitsResp)(nil), // 1: pb.gubernator.GetPeerRateLimitsResp
(*UpdatePeerGlobalsReq)(nil), // 2: pb.gubernator.UpdatePeerGlobalsReq
(*UpdatePeerGlobal)(nil), // 3: pb.gubernator.UpdatePeerGlobal
(*UpdatePeerGlobalsResp)(nil), // 4: pb.gubernator.UpdatePeerGlobalsResp
(*RateLimitReq)(nil), // 5: pb.gubernator.RateLimitReq
(*RateLimitResp)(nil), // 6: pb.gubernator.RateLimitResp
(Algorithm)(0), // 7: pb.gubernator.Algorithm
}
var file_peers_proto_depIdxs = []int32{
5, // 0: pb.gubernator.GetPeerRateLimitsReq.requests:type_name -> pb.gubernator.RateLimitReq
6, // 1: pb.gubernator.GetPeerRateLimitsResp.rate_limits:type_name -> pb.gubernator.RateLimitResp
3, // 2: pb.gubernator.UpdatePeerGlobalsReq.globals:type_name -> pb.gubernator.UpdatePeerGlobal
6, // 3: pb.gubernator.UpdatePeerGlobal.status:type_name -> pb.gubernator.RateLimitResp
7, // 4: pb.gubernator.UpdatePeerGlobal.algorithm:type_name -> pb.gubernator.Algorithm
0, // 5: pb.gubernator.PeersV1.GetPeerRateLimits:input_type -> pb.gubernator.GetPeerRateLimitsReq
2, // 6: pb.gubernator.PeersV1.UpdatePeerGlobals:input_type -> pb.gubernator.UpdatePeerGlobalsReq
1, // 7: pb.gubernator.PeersV1.GetPeerRateLimits:output_type -> pb.gubernator.GetPeerRateLimitsResp
4, // 8: pb.gubernator.PeersV1.UpdatePeerGlobals:output_type -> pb.gubernator.UpdatePeerGlobalsResp
7, // [7:9] is the sub-list for method output_type
5, // [5:7] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_peers_proto_init() }
func file_peers_proto_init() {
if File_peers_proto != nil {
return
}
file_gubernator_proto_init()
if !protoimpl.UnsafeEnabled {
file_peers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetPeerRateLimitsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_peers_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetPeerRateLimitsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_peers_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdatePeerGlobalsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_peers_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdatePeerGlobal); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_peers_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdatePeerGlobalsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_peers_proto_rawDesc,
NumEnums: 0,
NumMessages: 5,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_peers_proto_goTypes,
DependencyIndexes: file_peers_proto_depIdxs,
MessageInfos: file_peers_proto_msgTypes,
}.Build()
File_peers_proto = out.File
file_peers_proto_rawDesc = nil
file_peers_proto_goTypes = nil
file_peers_proto_depIdxs = nil
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )