tinode-chat/pbx/model.pb.go
2023-04-05 09:12:40 -07:00

5181 lines
160 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.27.1
// protoc v3.19.4
// source: model.proto
package pbx
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)
)
// Authentication level
type AuthLevel int32
const (
AuthLevel_NONE AuthLevel = 0
AuthLevel_ANON AuthLevel = 10
AuthLevel_AUTH AuthLevel = 20
AuthLevel_ROOT AuthLevel = 30
)
// Enum value maps for AuthLevel.
var (
AuthLevel_name = map[int32]string{
0: "NONE",
10: "ANON",
20: "AUTH",
30: "ROOT",
}
AuthLevel_value = map[string]int32{
"NONE": 0,
"ANON": 10,
"AUTH": 20,
"ROOT": 30,
}
)
func (x AuthLevel) Enum() *AuthLevel {
p := new(AuthLevel)
*p = x
return p
}
func (x AuthLevel) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AuthLevel) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[0].Descriptor()
}
func (AuthLevel) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[0]
}
func (x AuthLevel) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AuthLevel.Descriptor instead.
func (AuthLevel) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{0}
}
type InfoNote int32
const (
// Invalid value. The name must be globally unique.
InfoNote_X1 InfoNote = 0
InfoNote_READ InfoNote = 1
InfoNote_RECV InfoNote = 2
InfoNote_KP InfoNote = 3
InfoNote_CALL InfoNote = 4
)
// Enum value maps for InfoNote.
var (
InfoNote_name = map[int32]string{
0: "X1",
1: "READ",
2: "RECV",
3: "KP",
4: "CALL",
}
InfoNote_value = map[string]int32{
"X1": 0,
"READ": 1,
"RECV": 2,
"KP": 3,
"CALL": 4,
}
)
func (x InfoNote) Enum() *InfoNote {
p := new(InfoNote)
*p = x
return p
}
func (x InfoNote) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (InfoNote) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[1].Descriptor()
}
func (InfoNote) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[1]
}
func (x InfoNote) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use InfoNote.Descriptor instead.
func (InfoNote) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{1}
}
type CallEvent int32
const (
// Invalid value. The name must be globally unique.
CallEvent_X2 CallEvent = 0
CallEvent_ACCEPT CallEvent = 1
CallEvent_ANSWER CallEvent = 2
CallEvent_HANG_UP CallEvent = 3
CallEvent_ICE_CANDIDATE CallEvent = 4
CallEvent_INVITE CallEvent = 5
CallEvent_OFFER CallEvent = 6
CallEvent_RINGING CallEvent = 7
)
// Enum value maps for CallEvent.
var (
CallEvent_name = map[int32]string{
0: "X2",
1: "ACCEPT",
2: "ANSWER",
3: "HANG_UP",
4: "ICE_CANDIDATE",
5: "INVITE",
6: "OFFER",
7: "RINGING",
}
CallEvent_value = map[string]int32{
"X2": 0,
"ACCEPT": 1,
"ANSWER": 2,
"HANG_UP": 3,
"ICE_CANDIDATE": 4,
"INVITE": 5,
"OFFER": 6,
"RINGING": 7,
}
)
func (x CallEvent) Enum() *CallEvent {
p := new(CallEvent)
*p = x
return p
}
func (x CallEvent) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CallEvent) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[2].Descriptor()
}
func (CallEvent) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[2]
}
func (x CallEvent) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CallEvent.Descriptor instead.
func (CallEvent) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{2}
}
// Plugin response codes
type RespCode int32
const (
// Instruct Tinode server to continue with default processing of the client request.
RespCode_CONTINUE RespCode = 0
// Drop the request as if the client did not send it
RespCode_DROP RespCode = 1
// Send the the provided response to the client.
RespCode_RESPOND RespCode = 2
// Replace client's original request with the provided request then continue with
// processing.
RespCode_REPLACE RespCode = 3
)
// Enum value maps for RespCode.
var (
RespCode_name = map[int32]string{
0: "CONTINUE",
1: "DROP",
2: "RESPOND",
3: "REPLACE",
}
RespCode_value = map[string]int32{
"CONTINUE": 0,
"DROP": 1,
"RESPOND": 2,
"REPLACE": 3,
}
)
func (x RespCode) Enum() *RespCode {
p := new(RespCode)
*p = x
return p
}
func (x RespCode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RespCode) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[3].Descriptor()
}
func (RespCode) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[3]
}
func (x RespCode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RespCode.Descriptor instead.
func (RespCode) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{3}
}
type Crud int32
const (
Crud_CREATE Crud = 0
Crud_UPDATE Crud = 1
Crud_DELETE Crud = 2
)
// Enum value maps for Crud.
var (
Crud_name = map[int32]string{
0: "CREATE",
1: "UPDATE",
2: "DELETE",
}
Crud_value = map[string]int32{
"CREATE": 0,
"UPDATE": 1,
"DELETE": 2,
}
)
func (x Crud) Enum() *Crud {
p := new(Crud)
*p = x
return p
}
func (x Crud) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Crud) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[4].Descriptor()
}
func (Crud) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[4]
}
func (x Crud) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Crud.Descriptor instead.
func (Crud) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{4}
}
// What to delete, either "msg" to delete messages (default) or "topic" to delete the topic or "sub"
// to delete a subscription to topic.
type ClientDel_What int32
const (
// Invalid value. The name must be globally unique.
ClientDel_X0 ClientDel_What = 0
ClientDel_MSG ClientDel_What = 1
ClientDel_TOPIC ClientDel_What = 2
ClientDel_SUB ClientDel_What = 3
ClientDel_USER ClientDel_What = 4
ClientDel_CRED ClientDel_What = 5
)
// Enum value maps for ClientDel_What.
var (
ClientDel_What_name = map[int32]string{
0: "X0",
1: "MSG",
2: "TOPIC",
3: "SUB",
4: "USER",
5: "CRED",
}
ClientDel_What_value = map[string]int32{
"X0": 0,
"MSG": 1,
"TOPIC": 2,
"SUB": 3,
"USER": 4,
"CRED": 5,
}
)
func (x ClientDel_What) Enum() *ClientDel_What {
p := new(ClientDel_What)
*p = x
return p
}
func (x ClientDel_What) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ClientDel_What) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[5].Descriptor()
}
func (ClientDel_What) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[5]
}
func (x ClientDel_What) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ClientDel_What.Descriptor instead.
func (ClientDel_What) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{18, 0}
}
type ServerPres_What int32
const (
// Invalid value. The name must be globally unique.
ServerPres_X3 ServerPres_What = 0
ServerPres_ON ServerPres_What = 1
ServerPres_OFF ServerPres_What = 2
ServerPres_UA ServerPres_What = 3
ServerPres_UPD ServerPres_What = 4
ServerPres_GONE ServerPres_What = 5
ServerPres_ACS ServerPres_What = 6
ServerPres_TERM ServerPres_What = 7
ServerPres_MSG ServerPres_What = 8
ServerPres_READ ServerPres_What = 9
ServerPres_RECV ServerPres_What = 10
ServerPres_DEL ServerPres_What = 11
ServerPres_TAGS ServerPres_What = 12
)
// Enum value maps for ServerPres_What.
var (
ServerPres_What_name = map[int32]string{
0: "X3",
1: "ON",
2: "OFF",
3: "UA",
4: "UPD",
5: "GONE",
6: "ACS",
7: "TERM",
8: "MSG",
9: "READ",
10: "RECV",
11: "DEL",
12: "TAGS",
}
ServerPres_What_value = map[string]int32{
"X3": 0,
"ON": 1,
"OFF": 2,
"UA": 3,
"UPD": 4,
"GONE": 5,
"ACS": 6,
"TERM": 7,
"MSG": 8,
"READ": 9,
"RECV": 10,
"DEL": 11,
"TAGS": 12,
}
)
func (x ServerPres_What) Enum() *ServerPres_What {
p := new(ServerPres_What)
*p = x
return p
}
func (x ServerPres_What) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ServerPres_What) Descriptor() protoreflect.EnumDescriptor {
return file_model_proto_enumTypes[6].Descriptor()
}
func (ServerPres_What) Type() protoreflect.EnumType {
return &file_model_proto_enumTypes[6]
}
func (x ServerPres_What) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ServerPres_What.Descriptor instead.
func (ServerPres_What) EnumDescriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{28, 0}
}
// Dummy placeholder message.
type Unused struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Unused) Reset() {
*x = Unused{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Unused) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Unused) ProtoMessage() {}
func (x *Unused) ProtoReflect() protoreflect.Message {
mi := &file_model_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 Unused.ProtoReflect.Descriptor instead.
func (*Unused) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{0}
}
// Topic default access mode
type DefaultAcsMode struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Auth string `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"`
Anon string `protobuf:"bytes,2,opt,name=anon,proto3" json:"anon,omitempty"`
}
func (x *DefaultAcsMode) Reset() {
*x = DefaultAcsMode{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DefaultAcsMode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DefaultAcsMode) ProtoMessage() {}
func (x *DefaultAcsMode) ProtoReflect() protoreflect.Message {
mi := &file_model_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 DefaultAcsMode.ProtoReflect.Descriptor instead.
func (*DefaultAcsMode) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{1}
}
func (x *DefaultAcsMode) GetAuth() string {
if x != nil {
return x.Auth
}
return ""
}
func (x *DefaultAcsMode) GetAnon() string {
if x != nil {
return x.Anon
}
return ""
}
// Actual access mode
type AccessMode struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Access mode requested by the user
Want string `protobuf:"bytes,1,opt,name=want,proto3" json:"want,omitempty"`
// Access mode granted to the user by the admin
Given string `protobuf:"bytes,2,opt,name=given,proto3" json:"given,omitempty"`
}
func (x *AccessMode) Reset() {
*x = AccessMode{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AccessMode) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AccessMode) ProtoMessage() {}
func (x *AccessMode) ProtoReflect() protoreflect.Message {
mi := &file_model_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 AccessMode.ProtoReflect.Descriptor instead.
func (*AccessMode) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{2}
}
func (x *AccessMode) GetWant() string {
if x != nil {
return x.Want
}
return ""
}
func (x *AccessMode) GetGiven() string {
if x != nil {
return x.Given
}
return ""
}
// SetSub: payload in set.sub request to update current subscription or invite another user, {sub.what} == "sub"
type SetSub struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// User affected by this request. Default (empty): current user
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
// Access mode change, either Given or Want depending on context
Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"`
}
func (x *SetSub) Reset() {
*x = SetSub{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetSub) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetSub) ProtoMessage() {}
func (x *SetSub) ProtoReflect() protoreflect.Message {
mi := &file_model_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 SetSub.ProtoReflect.Descriptor instead.
func (*SetSub) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{3}
}
func (x *SetSub) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *SetSub) GetMode() string {
if x != nil {
return x.Mode
}
return ""
}
// Credentials such as email or phone number
type ClientCred struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Credential type, i.e. `email` or `tel`.
Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
// Value to verify, i.e. `user@example.com` or `+18003287448`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
// Verification response
Response string `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"`
// Request parameters, such as preferences or country code.
Params map[string][]byte `protobuf:"bytes,4,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *ClientCred) Reset() {
*x = ClientCred{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientCred) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientCred) ProtoMessage() {}
func (x *ClientCred) ProtoReflect() protoreflect.Message {
mi := &file_model_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 ClientCred.ProtoReflect.Descriptor instead.
func (*ClientCred) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{4}
}
func (x *ClientCred) GetMethod() string {
if x != nil {
return x.Method
}
return ""
}
func (x *ClientCred) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *ClientCred) GetResponse() string {
if x != nil {
return x.Response
}
return ""
}
func (x *ClientCred) GetParams() map[string][]byte {
if x != nil {
return x.Params
}
return nil
}
// SetDesc: C2S in set.what == "desc" and sub.init message
type SetDesc struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DefaultAcs *DefaultAcsMode `protobuf:"bytes,1,opt,name=default_acs,json=defaultAcs,proto3" json:"default_acs,omitempty"`
Public []byte `protobuf:"bytes,2,opt,name=public,proto3" json:"public,omitempty"`
Private []byte `protobuf:"bytes,3,opt,name=private,proto3" json:"private,omitempty"`
Trusted []byte `protobuf:"bytes,4,opt,name=trusted,proto3" json:"trusted,omitempty"`
}
func (x *SetDesc) Reset() {
*x = SetDesc{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetDesc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetDesc) ProtoMessage() {}
func (x *SetDesc) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[5]
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 SetDesc.ProtoReflect.Descriptor instead.
func (*SetDesc) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{5}
}
func (x *SetDesc) GetDefaultAcs() *DefaultAcsMode {
if x != nil {
return x.DefaultAcs
}
return nil
}
func (x *SetDesc) GetPublic() []byte {
if x != nil {
return x.Public
}
return nil
}
func (x *SetDesc) GetPrivate() []byte {
if x != nil {
return x.Private
}
return nil
}
func (x *SetDesc) GetTrusted() []byte {
if x != nil {
return x.Trusted
}
return nil
}
type GetOpts struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Timestamp in milliseconds since epoch 01/01/1970
IfModifiedSince int64 `protobuf:"varint,1,opt,name=if_modified_since,json=ifModifiedSince,proto3" json:"if_modified_since,omitempty"`
// Limit search to this user ID
User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
// Limit search results to one topic;
Topic string `protobuf:"bytes,3,opt,name=topic,proto3" json:"topic,omitempty"`
// Load messages with seq id equal or greater than this
SinceId int32 `protobuf:"varint,4,opt,name=since_id,json=sinceId,proto3" json:"since_id,omitempty"`
// Load messages with seq id lower than this
BeforeId int32 `protobuf:"varint,5,opt,name=before_id,json=beforeId,proto3" json:"before_id,omitempty"`
// Maximum number of results to return
Limit int32 `protobuf:"varint,6,opt,name=limit,proto3" json:"limit,omitempty"`
}
func (x *GetOpts) Reset() {
*x = GetOpts{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetOpts) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetOpts) ProtoMessage() {}
func (x *GetOpts) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[6]
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 GetOpts.ProtoReflect.Descriptor instead.
func (*GetOpts) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{6}
}
func (x *GetOpts) GetIfModifiedSince() int64 {
if x != nil {
return x.IfModifiedSince
}
return 0
}
func (x *GetOpts) GetUser() string {
if x != nil {
return x.User
}
return ""
}
func (x *GetOpts) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *GetOpts) GetSinceId() int32 {
if x != nil {
return x.SinceId
}
return 0
}
func (x *GetOpts) GetBeforeId() int32 {
if x != nil {
return x.BeforeId
}
return 0
}
func (x *GetOpts) GetLimit() int32 {
if x != nil {
return x.Limit
}
return 0
}
type GetQuery struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
What string `protobuf:"bytes,1,opt,name=what,proto3" json:"what,omitempty"`
// Parameters of "desc" request
Desc *GetOpts `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`
// Parameters of "sub" request
Sub *GetOpts `protobuf:"bytes,3,opt,name=sub,proto3" json:"sub,omitempty"`
// Parameters of "data" request
Data *GetOpts `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
}
func (x *GetQuery) Reset() {
*x = GetQuery{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetQuery) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetQuery) ProtoMessage() {}
func (x *GetQuery) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[7]
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 GetQuery.ProtoReflect.Descriptor instead.
func (*GetQuery) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{7}
}
func (x *GetQuery) GetWhat() string {
if x != nil {
return x.What
}
return ""
}
func (x *GetQuery) GetDesc() *GetOpts {
if x != nil {
return x.Desc
}
return nil
}
func (x *GetQuery) GetSub() *GetOpts {
if x != nil {
return x.Sub
}
return nil
}
func (x *GetQuery) GetData() *GetOpts {
if x != nil {
return x.Data
}
return nil
}
type SetQuery struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Topic metadata, new topic & new subscriptions only
Desc *SetDesc `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"`
// Subscription parameters
Sub *SetSub `protobuf:"bytes,2,opt,name=sub,proto3" json:"sub,omitempty"`
// Indexable tags
Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
// Credential being updated.
Cred *ClientCred `protobuf:"bytes,4,opt,name=cred,proto3" json:"cred,omitempty"`
}
func (x *SetQuery) Reset() {
*x = SetQuery{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetQuery) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetQuery) ProtoMessage() {}
func (x *SetQuery) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[8]
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 SetQuery.ProtoReflect.Descriptor instead.
func (*SetQuery) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{8}
}
func (x *SetQuery) GetDesc() *SetDesc {
if x != nil {
return x.Desc
}
return nil
}
func (x *SetQuery) GetSub() *SetSub {
if x != nil {
return x.Sub
}
return nil
}
func (x *SetQuery) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *SetQuery) GetCred() *ClientCred {
if x != nil {
return x.Cred
}
return nil
}
type SeqRange struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Low int32 `protobuf:"varint,1,opt,name=low,proto3" json:"low,omitempty"`
Hi int32 `protobuf:"varint,2,opt,name=hi,proto3" json:"hi,omitempty"`
}
func (x *SeqRange) Reset() {
*x = SeqRange{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SeqRange) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SeqRange) ProtoMessage() {}
func (x *SeqRange) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[9]
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 SeqRange.ProtoReflect.Descriptor instead.
func (*SeqRange) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{9}
}
func (x *SeqRange) GetLow() int32 {
if x != nil {
return x.Low
}
return 0
}
func (x *SeqRange) GetHi() int32 {
if x != nil {
return x.Hi
}
return 0
}
// Client handshake
type ClientHi struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
UserAgent string `protobuf:"bytes,2,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
Ver string `protobuf:"bytes,3,opt,name=ver,proto3" json:"ver,omitempty"`
DeviceId string `protobuf:"bytes,4,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
Lang string `protobuf:"bytes,5,opt,name=lang,proto3" json:"lang,omitempty"`
Platform string `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform,omitempty"`
Background bool `protobuf:"varint,7,opt,name=background,proto3" json:"background,omitempty"`
}
func (x *ClientHi) Reset() {
*x = ClientHi{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientHi) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientHi) ProtoMessage() {}
func (x *ClientHi) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[10]
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 ClientHi.ProtoReflect.Descriptor instead.
func (*ClientHi) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{10}
}
func (x *ClientHi) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientHi) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
func (x *ClientHi) GetVer() string {
if x != nil {
return x.Ver
}
return ""
}
func (x *ClientHi) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *ClientHi) GetLang() string {
if x != nil {
return x.Lang
}
return ""
}
func (x *ClientHi) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
func (x *ClientHi) GetBackground() bool {
if x != nil {
return x.Background
}
return false
}
// User creation message {acc}
type ClientAcc struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// User being created or updated
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
// The initial authentication scheme the account can use
Scheme string `protobuf:"bytes,3,opt,name=scheme,proto3" json:"scheme,omitempty"`
// Shared secret
Secret []byte `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"`
// Authenticate session with the newly created account
Login bool `protobuf:"varint,5,opt,name=login,proto3" json:"login,omitempty"`
// Indexable tags for user discovery
Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"`
// User initialization data when creating a new user, otherwise ignored
Desc *SetDesc `protobuf:"bytes,7,opt,name=desc,proto3" json:"desc,omitempty"`
// Credentials for verification.
Cred []*ClientCred `protobuf:"bytes,8,rep,name=cred,proto3" json:"cred,omitempty"`
// Authentication token used for resetting a password.
Token []byte `protobuf:"bytes,9,opt,name=token,proto3" json:"token,omitempty"`
// Account state: normal ("ok"), suspended
State string `protobuf:"bytes,10,opt,name=state,proto3" json:"state,omitempty"`
// AuthLevel
AuthLevel AuthLevel `protobuf:"varint,11,opt,name=auth_level,json=authLevel,proto3,enum=pbx.AuthLevel" json:"auth_level,omitempty"`
// Temporary auth params for one-off actions like password reset.
TmpScheme string `protobuf:"bytes,12,opt,name=tmp_scheme,json=tmpScheme,proto3" json:"tmp_scheme,omitempty"`
TmpSecret []byte `protobuf:"bytes,13,opt,name=tmp_secret,json=tmpSecret,proto3" json:"tmp_secret,omitempty"`
}
func (x *ClientAcc) Reset() {
*x = ClientAcc{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientAcc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientAcc) ProtoMessage() {}
func (x *ClientAcc) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[11]
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 ClientAcc.ProtoReflect.Descriptor instead.
func (*ClientAcc) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{11}
}
func (x *ClientAcc) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientAcc) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *ClientAcc) GetScheme() string {
if x != nil {
return x.Scheme
}
return ""
}
func (x *ClientAcc) GetSecret() []byte {
if x != nil {
return x.Secret
}
return nil
}
func (x *ClientAcc) GetLogin() bool {
if x != nil {
return x.Login
}
return false
}
func (x *ClientAcc) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *ClientAcc) GetDesc() *SetDesc {
if x != nil {
return x.Desc
}
return nil
}
func (x *ClientAcc) GetCred() []*ClientCred {
if x != nil {
return x.Cred
}
return nil
}
func (x *ClientAcc) GetToken() []byte {
if x != nil {
return x.Token
}
return nil
}
func (x *ClientAcc) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *ClientAcc) GetAuthLevel() AuthLevel {
if x != nil {
return x.AuthLevel
}
return AuthLevel_NONE
}
func (x *ClientAcc) GetTmpScheme() string {
if x != nil {
return x.TmpScheme
}
return ""
}
func (x *ClientAcc) GetTmpSecret() []byte {
if x != nil {
return x.TmpSecret
}
return nil
}
// Login {login} message
type ClientLogin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Authentication scheme
Scheme string `protobuf:"bytes,2,opt,name=scheme,proto3" json:"scheme,omitempty"`
// Shared secret
Secret []byte `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"`
// Credentials for verification.
Cred []*ClientCred `protobuf:"bytes,4,rep,name=cred,proto3" json:"cred,omitempty"`
}
func (x *ClientLogin) Reset() {
*x = ClientLogin{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientLogin) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientLogin) ProtoMessage() {}
func (x *ClientLogin) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[12]
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 ClientLogin.ProtoReflect.Descriptor instead.
func (*ClientLogin) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{12}
}
func (x *ClientLogin) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientLogin) GetScheme() string {
if x != nil {
return x.Scheme
}
return ""
}
func (x *ClientLogin) GetSecret() []byte {
if x != nil {
return x.Secret
}
return nil
}
func (x *ClientLogin) GetCred() []*ClientCred {
if x != nil {
return x.Cred
}
return nil
}
// Subscription request {sub} message
type ClientSub struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
// mirrors {set}
SetQuery *SetQuery `protobuf:"bytes,3,opt,name=set_query,json=setQuery,proto3" json:"set_query,omitempty"`
// mirrors {get}
GetQuery *GetQuery `protobuf:"bytes,4,opt,name=get_query,json=getQuery,proto3" json:"get_query,omitempty"`
}
func (x *ClientSub) Reset() {
*x = ClientSub{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientSub) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientSub) ProtoMessage() {}
func (x *ClientSub) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[13]
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 ClientSub.ProtoReflect.Descriptor instead.
func (*ClientSub) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{13}
}
func (x *ClientSub) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientSub) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ClientSub) GetSetQuery() *SetQuery {
if x != nil {
return x.SetQuery
}
return nil
}
func (x *ClientSub) GetGetQuery() *GetQuery {
if x != nil {
return x.GetQuery
}
return nil
}
// Unsubscribe {leave} request message
type ClientLeave struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
Unsub bool `protobuf:"varint,3,opt,name=unsub,proto3" json:"unsub,omitempty"`
}
func (x *ClientLeave) Reset() {
*x = ClientLeave{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientLeave) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientLeave) ProtoMessage() {}
func (x *ClientLeave) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[14]
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 ClientLeave.ProtoReflect.Descriptor instead.
func (*ClientLeave) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{14}
}
func (x *ClientLeave) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientLeave) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ClientLeave) GetUnsub() bool {
if x != nil {
return x.Unsub
}
return false
}
// ClientPub is client's request to publish data to topic subscribers {pub}
type ClientPub struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
NoEcho bool `protobuf:"varint,3,opt,name=no_echo,json=noEcho,proto3" json:"no_echo,omitempty"`
Head map[string][]byte `protobuf:"bytes,4,rep,name=head,proto3" json:"head,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
Content []byte `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *ClientPub) Reset() {
*x = ClientPub{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientPub) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientPub) ProtoMessage() {}
func (x *ClientPub) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[15]
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 ClientPub.ProtoReflect.Descriptor instead.
func (*ClientPub) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{15}
}
func (x *ClientPub) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientPub) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ClientPub) GetNoEcho() bool {
if x != nil {
return x.NoEcho
}
return false
}
func (x *ClientPub) GetHead() map[string][]byte {
if x != nil {
return x.Head
}
return nil
}
func (x *ClientPub) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
// Query topic state {get}
type ClientGet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
Query *GetQuery `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
}
func (x *ClientGet) Reset() {
*x = ClientGet{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientGet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientGet) ProtoMessage() {}
func (x *ClientGet) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[16]
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 ClientGet.ProtoReflect.Descriptor instead.
func (*ClientGet) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{16}
}
func (x *ClientGet) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientGet) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ClientGet) GetQuery() *GetQuery {
if x != nil {
return x.Query
}
return nil
}
// Update topic state {set}
type ClientSet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
Query *SetQuery `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
}
func (x *ClientSet) Reset() {
*x = ClientSet{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientSet) ProtoMessage() {}
func (x *ClientSet) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[17]
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 ClientSet.ProtoReflect.Descriptor instead.
func (*ClientSet) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{17}
}
func (x *ClientSet) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientSet) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ClientSet) GetQuery() *SetQuery {
if x != nil {
return x.Query
}
return nil
}
// ClientDel delete messages or topic
type ClientDel struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
What ClientDel_What `protobuf:"varint,3,opt,name=what,proto3,enum=pbx.ClientDel_What" json:"what,omitempty"`
// Delete messages by id or range of ids
DelSeq []*SeqRange `protobuf:"bytes,4,rep,name=del_seq,json=delSeq,proto3" json:"del_seq,omitempty"`
// User ID of the subscription to delete
UserId string `protobuf:"bytes,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
// Credential to delete.
Cred *ClientCred `protobuf:"bytes,6,opt,name=cred,proto3" json:"cred,omitempty"`
// Request to hard-delete messages for all users, if such option is available.
Hard bool `protobuf:"varint,7,opt,name=hard,proto3" json:"hard,omitempty"`
}
func (x *ClientDel) Reset() {
*x = ClientDel{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientDel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientDel) ProtoMessage() {}
func (x *ClientDel) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[18]
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 ClientDel.ProtoReflect.Descriptor instead.
func (*ClientDel) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{18}
}
func (x *ClientDel) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ClientDel) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ClientDel) GetWhat() ClientDel_What {
if x != nil {
return x.What
}
return ClientDel_X0
}
func (x *ClientDel) GetDelSeq() []*SeqRange {
if x != nil {
return x.DelSeq
}
return nil
}
func (x *ClientDel) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *ClientDel) GetCred() *ClientCred {
if x != nil {
return x.Cred
}
return nil
}
func (x *ClientDel) GetHard() bool {
if x != nil {
return x.Hard
}
return false
}
// ClientNote is a client-generated notification for topic subscribers
type ClientNote struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
// what is being reported: "recv" - message received, "read" - message read,
// "kp" - typing notification, "call" - voice/video call
What InfoNote `protobuf:"varint,2,opt,name=what,proto3,enum=pbx.InfoNote" json:"what,omitempty"`
// Server-issued message ID being reported
SeqId int32 `protobuf:"varint,3,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
// Client's count of unread messages to report back to the server. Used in push notifications on iOS.
Unread int32 `protobuf:"varint,4,opt,name=unread,proto3" json:"unread,omitempty"`
// Call event.
Event CallEvent `protobuf:"varint,5,opt,name=event,proto3,enum=pbx.CallEvent" json:"event,omitempty"`
// Arbitrary json payload (used in video calls).
Payload []byte `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"`
}
func (x *ClientNote) Reset() {
*x = ClientNote{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientNote) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientNote) ProtoMessage() {}
func (x *ClientNote) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[19]
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 ClientNote.ProtoReflect.Descriptor instead.
func (*ClientNote) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{19}
}
func (x *ClientNote) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ClientNote) GetWhat() InfoNote {
if x != nil {
return x.What
}
return InfoNote_X1
}
func (x *ClientNote) GetSeqId() int32 {
if x != nil {
return x.SeqId
}
return 0
}
func (x *ClientNote) GetUnread() int32 {
if x != nil {
return x.Unread
}
return 0
}
func (x *ClientNote) GetEvent() CallEvent {
if x != nil {
return x.Event
}
return CallEvent_X2
}
func (x *ClientNote) GetPayload() []byte {
if x != nil {
return x.Payload
}
return nil
}
type ClientExtra struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Attachments []string `protobuf:"bytes,1,rep,name=attachments,proto3" json:"attachments,omitempty"`
// Root user may send messages on behalf of other users.
OnBehalfOf string `protobuf:"bytes,2,opt,name=on_behalf_of,json=onBehalfOf,proto3" json:"on_behalf_of,omitempty"`
AuthLevel AuthLevel `protobuf:"varint,3,opt,name=auth_level,json=authLevel,proto3,enum=pbx.AuthLevel" json:"auth_level,omitempty"`
}
func (x *ClientExtra) Reset() {
*x = ClientExtra{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientExtra) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientExtra) ProtoMessage() {}
func (x *ClientExtra) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[20]
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 ClientExtra.ProtoReflect.Descriptor instead.
func (*ClientExtra) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{20}
}
func (x *ClientExtra) GetAttachments() []string {
if x != nil {
return x.Attachments
}
return nil
}
func (x *ClientExtra) GetOnBehalfOf() string {
if x != nil {
return x.OnBehalfOf
}
return ""
}
func (x *ClientExtra) GetAuthLevel() AuthLevel {
if x != nil {
return x.AuthLevel
}
return AuthLevel_NONE
}
type ClientMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Message:
// *ClientMsg_Hi
// *ClientMsg_Acc
// *ClientMsg_Login
// *ClientMsg_Sub
// *ClientMsg_Leave
// *ClientMsg_Pub
// *ClientMsg_Get
// *ClientMsg_Set
// *ClientMsg_Del
// *ClientMsg_Note
Message isClientMsg_Message `protobuf_oneof:"Message"`
// Additional message parameters.
Extra *ClientExtra `protobuf:"bytes,13,opt,name=extra,proto3" json:"extra,omitempty"`
}
func (x *ClientMsg) Reset() {
*x = ClientMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientMsg) ProtoMessage() {}
func (x *ClientMsg) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[21]
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 ClientMsg.ProtoReflect.Descriptor instead.
func (*ClientMsg) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{21}
}
func (m *ClientMsg) GetMessage() isClientMsg_Message {
if m != nil {
return m.Message
}
return nil
}
func (x *ClientMsg) GetHi() *ClientHi {
if x, ok := x.GetMessage().(*ClientMsg_Hi); ok {
return x.Hi
}
return nil
}
func (x *ClientMsg) GetAcc() *ClientAcc {
if x, ok := x.GetMessage().(*ClientMsg_Acc); ok {
return x.Acc
}
return nil
}
func (x *ClientMsg) GetLogin() *ClientLogin {
if x, ok := x.GetMessage().(*ClientMsg_Login); ok {
return x.Login
}
return nil
}
func (x *ClientMsg) GetSub() *ClientSub {
if x, ok := x.GetMessage().(*ClientMsg_Sub); ok {
return x.Sub
}
return nil
}
func (x *ClientMsg) GetLeave() *ClientLeave {
if x, ok := x.GetMessage().(*ClientMsg_Leave); ok {
return x.Leave
}
return nil
}
func (x *ClientMsg) GetPub() *ClientPub {
if x, ok := x.GetMessage().(*ClientMsg_Pub); ok {
return x.Pub
}
return nil
}
func (x *ClientMsg) GetGet() *ClientGet {
if x, ok := x.GetMessage().(*ClientMsg_Get); ok {
return x.Get
}
return nil
}
func (x *ClientMsg) GetSet() *ClientSet {
if x, ok := x.GetMessage().(*ClientMsg_Set); ok {
return x.Set
}
return nil
}
func (x *ClientMsg) GetDel() *ClientDel {
if x, ok := x.GetMessage().(*ClientMsg_Del); ok {
return x.Del
}
return nil
}
func (x *ClientMsg) GetNote() *ClientNote {
if x, ok := x.GetMessage().(*ClientMsg_Note); ok {
return x.Note
}
return nil
}
func (x *ClientMsg) GetExtra() *ClientExtra {
if x != nil {
return x.Extra
}
return nil
}
type isClientMsg_Message interface {
isClientMsg_Message()
}
type ClientMsg_Hi struct {
Hi *ClientHi `protobuf:"bytes,1,opt,name=hi,proto3,oneof"`
}
type ClientMsg_Acc struct {
Acc *ClientAcc `protobuf:"bytes,2,opt,name=acc,proto3,oneof"`
}
type ClientMsg_Login struct {
Login *ClientLogin `protobuf:"bytes,3,opt,name=login,proto3,oneof"`
}
type ClientMsg_Sub struct {
Sub *ClientSub `protobuf:"bytes,4,opt,name=sub,proto3,oneof"`
}
type ClientMsg_Leave struct {
Leave *ClientLeave `protobuf:"bytes,5,opt,name=leave,proto3,oneof"`
}
type ClientMsg_Pub struct {
Pub *ClientPub `protobuf:"bytes,6,opt,name=pub,proto3,oneof"`
}
type ClientMsg_Get struct {
Get *ClientGet `protobuf:"bytes,7,opt,name=get,proto3,oneof"`
}
type ClientMsg_Set struct {
Set *ClientSet `protobuf:"bytes,8,opt,name=set,proto3,oneof"`
}
type ClientMsg_Del struct {
Del *ClientDel `protobuf:"bytes,9,opt,name=del,proto3,oneof"`
}
type ClientMsg_Note struct {
Note *ClientNote `protobuf:"bytes,10,opt,name=note,proto3,oneof"`
}
func (*ClientMsg_Hi) isClientMsg_Message() {}
func (*ClientMsg_Acc) isClientMsg_Message() {}
func (*ClientMsg_Login) isClientMsg_Message() {}
func (*ClientMsg_Sub) isClientMsg_Message() {}
func (*ClientMsg_Leave) isClientMsg_Message() {}
func (*ClientMsg_Pub) isClientMsg_Message() {}
func (*ClientMsg_Get) isClientMsg_Message() {}
func (*ClientMsg_Set) isClientMsg_Message() {}
func (*ClientMsg_Del) isClientMsg_Message() {}
func (*ClientMsg_Note) isClientMsg_Message() {}
// Credentials
type ServerCred struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Credential type, i.e. `email` or `tel`.
Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
// Value to verify, i.e. `user@example.com` or `+18003287448`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
// Indicator that the credential is validated
Done bool `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"`
}
func (x *ServerCred) Reset() {
*x = ServerCred{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerCred) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerCred) ProtoMessage() {}
func (x *ServerCred) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[22]
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 ServerCred.ProtoReflect.Descriptor instead.
func (*ServerCred) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{22}
}
func (x *ServerCred) GetMethod() string {
if x != nil {
return x.Method
}
return ""
}
func (x *ServerCred) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *ServerCred) GetDone() bool {
if x != nil {
return x.Done
}
return false
}
// Topic description, S2C in Meta message
type TopicDesc struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CreatedAt int64 `protobuf:"varint,1,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt int64 `protobuf:"varint,2,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
TouchedAt int64 `protobuf:"varint,3,opt,name=touched_at,json=touchedAt,proto3" json:"touched_at,omitempty"`
Defacs *DefaultAcsMode `protobuf:"bytes,4,opt,name=defacs,proto3" json:"defacs,omitempty"`
Acs *AccessMode `protobuf:"bytes,5,opt,name=acs,proto3" json:"acs,omitempty"`
SeqId int32 `protobuf:"varint,6,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
ReadId int32 `protobuf:"varint,7,opt,name=read_id,json=readId,proto3" json:"read_id,omitempty"`
RecvId int32 `protobuf:"varint,8,opt,name=recv_id,json=recvId,proto3" json:"recv_id,omitempty"`
DelId int32 `protobuf:"varint,9,opt,name=del_id,json=delId,proto3" json:"del_id,omitempty"`
Public []byte `protobuf:"bytes,10,opt,name=public,proto3" json:"public,omitempty"`
Private []byte `protobuf:"bytes,11,opt,name=private,proto3" json:"private,omitempty"`
State string `protobuf:"bytes,12,opt,name=state,proto3" json:"state,omitempty"`
StateAt int64 `protobuf:"varint,13,opt,name=state_at,json=stateAt,proto3" json:"state_at,omitempty"`
Trusted []byte `protobuf:"bytes,14,opt,name=trusted,proto3" json:"trusted,omitempty"`
IsChan bool `protobuf:"varint,17,opt,name=is_chan,json=isChan,proto3" json:"is_chan,omitempty"` // 17!
Online bool `protobuf:"varint,18,opt,name=online,proto3" json:"online,omitempty"`
// P2P only: other user's last online timestamp & user agent
LastSeenTime int64 `protobuf:"varint,15,opt,name=last_seen_time,json=lastSeenTime,proto3" json:"last_seen_time,omitempty"`
LastSeenUserAgent string `protobuf:"bytes,16,opt,name=last_seen_user_agent,json=lastSeenUserAgent,proto3" json:"last_seen_user_agent,omitempty"`
}
func (x *TopicDesc) Reset() {
*x = TopicDesc{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TopicDesc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TopicDesc) ProtoMessage() {}
func (x *TopicDesc) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[23]
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 TopicDesc.ProtoReflect.Descriptor instead.
func (*TopicDesc) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{23}
}
func (x *TopicDesc) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *TopicDesc) GetUpdatedAt() int64 {
if x != nil {
return x.UpdatedAt
}
return 0
}
func (x *TopicDesc) GetTouchedAt() int64 {
if x != nil {
return x.TouchedAt
}
return 0
}
func (x *TopicDesc) GetDefacs() *DefaultAcsMode {
if x != nil {
return x.Defacs
}
return nil
}
func (x *TopicDesc) GetAcs() *AccessMode {
if x != nil {
return x.Acs
}
return nil
}
func (x *TopicDesc) GetSeqId() int32 {
if x != nil {
return x.SeqId
}
return 0
}
func (x *TopicDesc) GetReadId() int32 {
if x != nil {
return x.ReadId
}
return 0
}
func (x *TopicDesc) GetRecvId() int32 {
if x != nil {
return x.RecvId
}
return 0
}
func (x *TopicDesc) GetDelId() int32 {
if x != nil {
return x.DelId
}
return 0
}
func (x *TopicDesc) GetPublic() []byte {
if x != nil {
return x.Public
}
return nil
}
func (x *TopicDesc) GetPrivate() []byte {
if x != nil {
return x.Private
}
return nil
}
func (x *TopicDesc) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *TopicDesc) GetStateAt() int64 {
if x != nil {
return x.StateAt
}
return 0
}
func (x *TopicDesc) GetTrusted() []byte {
if x != nil {
return x.Trusted
}
return nil
}
func (x *TopicDesc) GetIsChan() bool {
if x != nil {
return x.IsChan
}
return false
}
func (x *TopicDesc) GetOnline() bool {
if x != nil {
return x.Online
}
return false
}
func (x *TopicDesc) GetLastSeenTime() int64 {
if x != nil {
return x.LastSeenTime
}
return 0
}
func (x *TopicDesc) GetLastSeenUserAgent() string {
if x != nil {
return x.LastSeenUserAgent
}
return ""
}
// MsgTopicSub: topic subscription details, sent in Meta message
type TopicSub struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UpdatedAt int64 `protobuf:"varint,1,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
DeletedAt int64 `protobuf:"varint,2,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"`
Online bool `protobuf:"varint,3,opt,name=online,proto3" json:"online,omitempty"`
Acs *AccessMode `protobuf:"bytes,4,opt,name=acs,proto3" json:"acs,omitempty"`
ReadId int32 `protobuf:"varint,5,opt,name=read_id,json=readId,proto3" json:"read_id,omitempty"`
RecvId int32 `protobuf:"varint,6,opt,name=recv_id,json=recvId,proto3" json:"recv_id,omitempty"`
Public []byte `protobuf:"bytes,7,opt,name=public,proto3" json:"public,omitempty"`
Trusted []byte `protobuf:"bytes,16,opt,name=trusted,proto3" json:"trusted,omitempty"` // 16!
Private []byte `protobuf:"bytes,8,opt,name=private,proto3" json:"private,omitempty"`
// Uid of the subscribed user
UserId string `protobuf:"bytes,9,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
// Topic name of this subscription
Topic string `protobuf:"bytes,10,opt,name=topic,proto3" json:"topic,omitempty"`
TouchedAt int64 `protobuf:"varint,11,opt,name=touched_at,json=touchedAt,proto3" json:"touched_at,omitempty"`
// ID of the last {data} message in a topic
SeqId int32 `protobuf:"varint,12,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
// Messages are deleted up to this ID
DelId int32 `protobuf:"varint,13,opt,name=del_id,json=delId,proto3" json:"del_id,omitempty"`
// Other user's last online timestamp & user agent
LastSeenTime int64 `protobuf:"varint,14,opt,name=last_seen_time,json=lastSeenTime,proto3" json:"last_seen_time,omitempty"`
LastSeenUserAgent string `protobuf:"bytes,15,opt,name=last_seen_user_agent,json=lastSeenUserAgent,proto3" json:"last_seen_user_agent,omitempty"`
}
func (x *TopicSub) Reset() {
*x = TopicSub{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TopicSub) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TopicSub) ProtoMessage() {}
func (x *TopicSub) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[24]
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 TopicSub.ProtoReflect.Descriptor instead.
func (*TopicSub) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{24}
}
func (x *TopicSub) GetUpdatedAt() int64 {
if x != nil {
return x.UpdatedAt
}
return 0
}
func (x *TopicSub) GetDeletedAt() int64 {
if x != nil {
return x.DeletedAt
}
return 0
}
func (x *TopicSub) GetOnline() bool {
if x != nil {
return x.Online
}
return false
}
func (x *TopicSub) GetAcs() *AccessMode {
if x != nil {
return x.Acs
}
return nil
}
func (x *TopicSub) GetReadId() int32 {
if x != nil {
return x.ReadId
}
return 0
}
func (x *TopicSub) GetRecvId() int32 {
if x != nil {
return x.RecvId
}
return 0
}
func (x *TopicSub) GetPublic() []byte {
if x != nil {
return x.Public
}
return nil
}
func (x *TopicSub) GetTrusted() []byte {
if x != nil {
return x.Trusted
}
return nil
}
func (x *TopicSub) GetPrivate() []byte {
if x != nil {
return x.Private
}
return nil
}
func (x *TopicSub) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *TopicSub) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *TopicSub) GetTouchedAt() int64 {
if x != nil {
return x.TouchedAt
}
return 0
}
func (x *TopicSub) GetSeqId() int32 {
if x != nil {
return x.SeqId
}
return 0
}
func (x *TopicSub) GetDelId() int32 {
if x != nil {
return x.DelId
}
return 0
}
func (x *TopicSub) GetLastSeenTime() int64 {
if x != nil {
return x.LastSeenTime
}
return 0
}
func (x *TopicSub) GetLastSeenUserAgent() string {
if x != nil {
return x.LastSeenUserAgent
}
return ""
}
type DelValues struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DelId int32 `protobuf:"varint,1,opt,name=del_id,json=delId,proto3" json:"del_id,omitempty"`
DelSeq []*SeqRange `protobuf:"bytes,2,rep,name=del_seq,json=delSeq,proto3" json:"del_seq,omitempty"`
}
func (x *DelValues) Reset() {
*x = DelValues{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DelValues) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DelValues) ProtoMessage() {}
func (x *DelValues) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[25]
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 DelValues.ProtoReflect.Descriptor instead.
func (*DelValues) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{25}
}
func (x *DelValues) GetDelId() int32 {
if x != nil {
return x.DelId
}
return 0
}
func (x *DelValues) GetDelSeq() []*SeqRange {
if x != nil {
return x.DelSeq
}
return nil
}
// {ctrl} message
type ServerCtrl struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"`
Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"`
Params map[string][]byte `protobuf:"bytes,5,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *ServerCtrl) Reset() {
*x = ServerCtrl{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerCtrl) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerCtrl) ProtoMessage() {}
func (x *ServerCtrl) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[26]
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 ServerCtrl.ProtoReflect.Descriptor instead.
func (*ServerCtrl) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{26}
}
func (x *ServerCtrl) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ServerCtrl) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ServerCtrl) GetCode() int32 {
if x != nil {
return x.Code
}
return 0
}
func (x *ServerCtrl) GetText() string {
if x != nil {
return x.Text
}
return ""
}
func (x *ServerCtrl) GetParams() map[string][]byte {
if x != nil {
return x.Params
}
return nil
}
// {data} message
type ServerData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
// ID of the user who originated the message as {pub}, could be empty if sent by the system
FromUserId string `protobuf:"bytes,2,opt,name=from_user_id,json=fromUserId,proto3" json:"from_user_id,omitempty"`
// Timestamp when the message was sent.
Timestamp int64 `protobuf:"varint,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// Timestamp when the message was deleted or 0. Milliseconds since the epoch 01/01/1970
DeletedAt int64 `protobuf:"varint,3,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"`
SeqId int32 `protobuf:"varint,4,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
Head map[string][]byte `protobuf:"bytes,5,rep,name=head,proto3" json:"head,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
Content []byte `protobuf:"bytes,6,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *ServerData) Reset() {
*x = ServerData{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerData) ProtoMessage() {}
func (x *ServerData) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[27]
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 ServerData.ProtoReflect.Descriptor instead.
func (*ServerData) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{27}
}
func (x *ServerData) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ServerData) GetFromUserId() string {
if x != nil {
return x.FromUserId
}
return ""
}
func (x *ServerData) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *ServerData) GetDeletedAt() int64 {
if x != nil {
return x.DeletedAt
}
return 0
}
func (x *ServerData) GetSeqId() int32 {
if x != nil {
return x.SeqId
}
return 0
}
func (x *ServerData) GetHead() map[string][]byte {
if x != nil {
return x.Head
}
return nil
}
func (x *ServerData) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
// {pres} message
type ServerPres struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
Src string `protobuf:"bytes,2,opt,name=src,proto3" json:"src,omitempty"`
What ServerPres_What `protobuf:"varint,3,opt,name=what,proto3,enum=pbx.ServerPres_What" json:"what,omitempty"`
UserAgent string `protobuf:"bytes,4,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
SeqId int32 `protobuf:"varint,5,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
DelId int32 `protobuf:"varint,6,opt,name=del_id,json=delId,proto3" json:"del_id,omitempty"`
DelSeq []*SeqRange `protobuf:"bytes,7,rep,name=del_seq,json=delSeq,proto3" json:"del_seq,omitempty"`
TargetUserId string `protobuf:"bytes,8,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
ActorUserId string `protobuf:"bytes,9,opt,name=actor_user_id,json=actorUserId,proto3" json:"actor_user_id,omitempty"`
Acs *AccessMode `protobuf:"bytes,10,opt,name=acs,proto3" json:"acs,omitempty"`
}
func (x *ServerPres) Reset() {
*x = ServerPres{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerPres) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerPres) ProtoMessage() {}
func (x *ServerPres) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[28]
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 ServerPres.ProtoReflect.Descriptor instead.
func (*ServerPres) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{28}
}
func (x *ServerPres) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ServerPres) GetSrc() string {
if x != nil {
return x.Src
}
return ""
}
func (x *ServerPres) GetWhat() ServerPres_What {
if x != nil {
return x.What
}
return ServerPres_X3
}
func (x *ServerPres) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
func (x *ServerPres) GetSeqId() int32 {
if x != nil {
return x.SeqId
}
return 0
}
func (x *ServerPres) GetDelId() int32 {
if x != nil {
return x.DelId
}
return 0
}
func (x *ServerPres) GetDelSeq() []*SeqRange {
if x != nil {
return x.DelSeq
}
return nil
}
func (x *ServerPres) GetTargetUserId() string {
if x != nil {
return x.TargetUserId
}
return ""
}
func (x *ServerPres) GetActorUserId() string {
if x != nil {
return x.ActorUserId
}
return ""
}
func (x *ServerPres) GetAcs() *AccessMode {
if x != nil {
return x.Acs
}
return nil
}
// {meta} message
type ServerMeta struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
Desc *TopicDesc `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
Sub []*TopicSub `protobuf:"bytes,4,rep,name=sub,proto3" json:"sub,omitempty"`
Del *DelValues `protobuf:"bytes,5,opt,name=del,proto3" json:"del,omitempty"`
Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"`
Cred []*ServerCred `protobuf:"bytes,7,rep,name=cred,proto3" json:"cred,omitempty"`
}
func (x *ServerMeta) Reset() {
*x = ServerMeta{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerMeta) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerMeta) ProtoMessage() {}
func (x *ServerMeta) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[29]
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 ServerMeta.ProtoReflect.Descriptor instead.
func (*ServerMeta) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{29}
}
func (x *ServerMeta) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ServerMeta) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ServerMeta) GetDesc() *TopicDesc {
if x != nil {
return x.Desc
}
return nil
}
func (x *ServerMeta) GetSub() []*TopicSub {
if x != nil {
return x.Sub
}
return nil
}
func (x *ServerMeta) GetDel() *DelValues {
if x != nil {
return x.Del
}
return nil
}
func (x *ServerMeta) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
func (x *ServerMeta) GetCred() []*ServerCred {
if x != nil {
return x.Cred
}
return nil
}
// {info} message: server-side copy of ClientNote with From and optional Src added.
type ServerInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
FromUserId string `protobuf:"bytes,2,opt,name=from_user_id,json=fromUserId,proto3" json:"from_user_id,omitempty"`
What InfoNote `protobuf:"varint,3,opt,name=what,proto3,enum=pbx.InfoNote" json:"what,omitempty"`
SeqId int32 `protobuf:"varint,4,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
Src string `protobuf:"bytes,5,opt,name=src,proto3" json:"src,omitempty"`
Event CallEvent `protobuf:"varint,6,opt,name=event,proto3,enum=pbx.CallEvent" json:"event,omitempty"`
Payload []byte `protobuf:"bytes,7,opt,name=payload,proto3" json:"payload,omitempty"`
}
func (x *ServerInfo) Reset() {
*x = ServerInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerInfo) ProtoMessage() {}
func (x *ServerInfo) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[30]
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 ServerInfo.ProtoReflect.Descriptor instead.
func (*ServerInfo) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{30}
}
func (x *ServerInfo) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *ServerInfo) GetFromUserId() string {
if x != nil {
return x.FromUserId
}
return ""
}
func (x *ServerInfo) GetWhat() InfoNote {
if x != nil {
return x.What
}
return InfoNote_X1
}
func (x *ServerInfo) GetSeqId() int32 {
if x != nil {
return x.SeqId
}
return 0
}
func (x *ServerInfo) GetSrc() string {
if x != nil {
return x.Src
}
return ""
}
func (x *ServerInfo) GetEvent() CallEvent {
if x != nil {
return x.Event
}
return CallEvent_X2
}
func (x *ServerInfo) GetPayload() []byte {
if x != nil {
return x.Payload
}
return nil
}
// Cumulative message
type ServerMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Message:
// *ServerMsg_Ctrl
// *ServerMsg_Data
// *ServerMsg_Pres
// *ServerMsg_Meta
// *ServerMsg_Info
Message isServerMsg_Message `protobuf_oneof:"Message"`
// DEPRECATED. Will be removed soon.
// When response is sent to Root, send internal topic name too.
//
// Deprecated: Do not use.
Topic string `protobuf:"bytes,6,opt,name=topic,proto3" json:"topic,omitempty"`
}
func (x *ServerMsg) Reset() {
*x = ServerMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerMsg) ProtoMessage() {}
func (x *ServerMsg) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[31]
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 ServerMsg.ProtoReflect.Descriptor instead.
func (*ServerMsg) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{31}
}
func (m *ServerMsg) GetMessage() isServerMsg_Message {
if m != nil {
return m.Message
}
return nil
}
func (x *ServerMsg) GetCtrl() *ServerCtrl {
if x, ok := x.GetMessage().(*ServerMsg_Ctrl); ok {
return x.Ctrl
}
return nil
}
func (x *ServerMsg) GetData() *ServerData {
if x, ok := x.GetMessage().(*ServerMsg_Data); ok {
return x.Data
}
return nil
}
func (x *ServerMsg) GetPres() *ServerPres {
if x, ok := x.GetMessage().(*ServerMsg_Pres); ok {
return x.Pres
}
return nil
}
func (x *ServerMsg) GetMeta() *ServerMeta {
if x, ok := x.GetMessage().(*ServerMsg_Meta); ok {
return x.Meta
}
return nil
}
func (x *ServerMsg) GetInfo() *ServerInfo {
if x, ok := x.GetMessage().(*ServerMsg_Info); ok {
return x.Info
}
return nil
}
// Deprecated: Do not use.
func (x *ServerMsg) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
type isServerMsg_Message interface {
isServerMsg_Message()
}
type ServerMsg_Ctrl struct {
Ctrl *ServerCtrl `protobuf:"bytes,1,opt,name=ctrl,proto3,oneof"`
}
type ServerMsg_Data struct {
Data *ServerData `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
}
type ServerMsg_Pres struct {
Pres *ServerPres `protobuf:"bytes,3,opt,name=pres,proto3,oneof"`
}
type ServerMsg_Meta struct {
Meta *ServerMeta `protobuf:"bytes,4,opt,name=meta,proto3,oneof"`
}
type ServerMsg_Info struct {
Info *ServerInfo `protobuf:"bytes,5,opt,name=info,proto3,oneof"`
}
func (*ServerMsg_Ctrl) isServerMsg_Message() {}
func (*ServerMsg_Data) isServerMsg_Message() {}
func (*ServerMsg_Pres) isServerMsg_Message() {}
func (*ServerMsg_Meta) isServerMsg_Message() {}
func (*ServerMsg_Info) isServerMsg_Message() {}
type ServerResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Status RespCode `protobuf:"varint,1,opt,name=status,proto3,enum=pbx.RespCode" json:"status,omitempty"`
Srvmsg *ServerMsg `protobuf:"bytes,2,opt,name=srvmsg,proto3" json:"srvmsg,omitempty"`
Clmsg *ClientMsg `protobuf:"bytes,3,opt,name=clmsg,proto3" json:"clmsg,omitempty"`
}
func (x *ServerResp) Reset() {
*x = ServerResp{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerResp) ProtoMessage() {}
func (x *ServerResp) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[32]
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 ServerResp.ProtoReflect.Descriptor instead.
func (*ServerResp) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{32}
}
func (x *ServerResp) GetStatus() RespCode {
if x != nil {
return x.Status
}
return RespCode_CONTINUE
}
func (x *ServerResp) GetSrvmsg() *ServerMsg {
if x != nil {
return x.Srvmsg
}
return nil
}
func (x *ServerResp) GetClmsg() *ClientMsg {
if x != nil {
return x.Clmsg
}
return nil
}
// Context message
type Session struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
AuthLevel AuthLevel `protobuf:"varint,3,opt,name=auth_level,json=authLevel,proto3,enum=pbx.AuthLevel" json:"auth_level,omitempty"`
RemoteAddr string `protobuf:"bytes,4,opt,name=remote_addr,json=remoteAddr,proto3" json:"remote_addr,omitempty"`
UserAgent string `protobuf:"bytes,5,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
DeviceId string `protobuf:"bytes,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
Language string `protobuf:"bytes,7,opt,name=language,proto3" json:"language,omitempty"`
}
func (x *Session) Reset() {
*x = Session{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Session) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Session) ProtoMessage() {}
func (x *Session) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[33]
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 Session.ProtoReflect.Descriptor instead.
func (*Session) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{33}
}
func (x *Session) GetSessionId() string {
if x != nil {
return x.SessionId
}
return ""
}
func (x *Session) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *Session) GetAuthLevel() AuthLevel {
if x != nil {
return x.AuthLevel
}
return AuthLevel_NONE
}
func (x *Session) GetRemoteAddr() string {
if x != nil {
return x.RemoteAddr
}
return ""
}
func (x *Session) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
func (x *Session) GetDeviceId() string {
if x != nil {
return x.DeviceId
}
return ""
}
func (x *Session) GetLanguage() string {
if x != nil {
return x.Language
}
return ""
}
type ClientReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Msg *ClientMsg `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
Sess *Session `protobuf:"bytes,2,opt,name=sess,proto3" json:"sess,omitempty"`
}
func (x *ClientReq) Reset() {
*x = ClientReq{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientReq) ProtoMessage() {}
func (x *ClientReq) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[34]
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 ClientReq.ProtoReflect.Descriptor instead.
func (*ClientReq) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{34}
}
func (x *ClientReq) GetMsg() *ClientMsg {
if x != nil {
return x.Msg
}
return nil
}
func (x *ClientReq) GetSess() *Session {
if x != nil {
return x.Sess
}
return nil
}
type SearchQuery struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
}
func (x *SearchQuery) Reset() {
*x = SearchQuery{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchQuery) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchQuery) ProtoMessage() {}
func (x *SearchQuery) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[35]
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 SearchQuery.ProtoReflect.Descriptor instead.
func (*SearchQuery) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{35}
}
func (x *SearchQuery) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *SearchQuery) GetQuery() string {
if x != nil {
return x.Query
}
return ""
}
type SearchFound struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Status RespCode `protobuf:"varint,1,opt,name=status,proto3,enum=pbx.RespCode" json:"status,omitempty"`
// New search query If status == REPLACE, otherwise unset.
Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
// Search results.
Result []*TopicSub `protobuf:"bytes,3,rep,name=result,proto3" json:"result,omitempty"`
}
func (x *SearchFound) Reset() {
*x = SearchFound{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SearchFound) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchFound) ProtoMessage() {}
func (x *SearchFound) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[36]
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 SearchFound.ProtoReflect.Descriptor instead.
func (*SearchFound) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{36}
}
func (x *SearchFound) GetStatus() RespCode {
if x != nil {
return x.Status
}
return RespCode_CONTINUE
}
func (x *SearchFound) GetQuery() string {
if x != nil {
return x.Query
}
return ""
}
func (x *SearchFound) GetResult() []*TopicSub {
if x != nil {
return x.Result
}
return nil
}
type TopicEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Action Crud `protobuf:"varint,1,opt,name=action,proto3,enum=pbx.Crud" json:"action,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Desc *TopicDesc `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
}
func (x *TopicEvent) Reset() {
*x = TopicEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TopicEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TopicEvent) ProtoMessage() {}
func (x *TopicEvent) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[37]
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 TopicEvent.ProtoReflect.Descriptor instead.
func (*TopicEvent) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{37}
}
func (x *TopicEvent) GetAction() Crud {
if x != nil {
return x.Action
}
return Crud_CREATE
}
func (x *TopicEvent) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TopicEvent) GetDesc() *TopicDesc {
if x != nil {
return x.Desc
}
return nil
}
type AccountEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Action Crud `protobuf:"varint,1,opt,name=action,proto3,enum=pbx.Crud" json:"action,omitempty"`
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
DefaultAcs *DefaultAcsMode `protobuf:"bytes,3,opt,name=default_acs,json=defaultAcs,proto3" json:"default_acs,omitempty"`
Public []byte `protobuf:"bytes,4,opt,name=public,proto3" json:"public,omitempty"`
// Indexable tags for user discovery
Tags []string `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"`
}
func (x *AccountEvent) Reset() {
*x = AccountEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AccountEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AccountEvent) ProtoMessage() {}
func (x *AccountEvent) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[38]
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 AccountEvent.ProtoReflect.Descriptor instead.
func (*AccountEvent) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{38}
}
func (x *AccountEvent) GetAction() Crud {
if x != nil {
return x.Action
}
return Crud_CREATE
}
func (x *AccountEvent) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *AccountEvent) GetDefaultAcs() *DefaultAcsMode {
if x != nil {
return x.DefaultAcs
}
return nil
}
func (x *AccountEvent) GetPublic() []byte {
if x != nil {
return x.Public
}
return nil
}
func (x *AccountEvent) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
type SubscriptionEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Action Crud `protobuf:"varint,1,opt,name=action,proto3,enum=pbx.Crud" json:"action,omitempty"`
Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
DelId int32 `protobuf:"varint,4,opt,name=del_id,json=delId,proto3" json:"del_id,omitempty"`
ReadId int32 `protobuf:"varint,5,opt,name=read_id,json=readId,proto3" json:"read_id,omitempty"`
RecvId int32 `protobuf:"varint,6,opt,name=recv_id,json=recvId,proto3" json:"recv_id,omitempty"`
Mode *AccessMode `protobuf:"bytes,7,opt,name=mode,proto3" json:"mode,omitempty"`
Private []byte `protobuf:"bytes,8,opt,name=private,proto3" json:"private,omitempty"`
}
func (x *SubscriptionEvent) Reset() {
*x = SubscriptionEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubscriptionEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubscriptionEvent) ProtoMessage() {}
func (x *SubscriptionEvent) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[39]
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 SubscriptionEvent.ProtoReflect.Descriptor instead.
func (*SubscriptionEvent) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{39}
}
func (x *SubscriptionEvent) GetAction() Crud {
if x != nil {
return x.Action
}
return Crud_CREATE
}
func (x *SubscriptionEvent) GetTopic() string {
if x != nil {
return x.Topic
}
return ""
}
func (x *SubscriptionEvent) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *SubscriptionEvent) GetDelId() int32 {
if x != nil {
return x.DelId
}
return 0
}
func (x *SubscriptionEvent) GetReadId() int32 {
if x != nil {
return x.ReadId
}
return 0
}
func (x *SubscriptionEvent) GetRecvId() int32 {
if x != nil {
return x.RecvId
}
return 0
}
func (x *SubscriptionEvent) GetMode() *AccessMode {
if x != nil {
return x.Mode
}
return nil
}
func (x *SubscriptionEvent) GetPrivate() []byte {
if x != nil {
return x.Private
}
return nil
}
type MessageEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Action Crud `protobuf:"varint,1,opt,name=action,proto3,enum=pbx.Crud" json:"action,omitempty"`
Msg *ServerData `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}
func (x *MessageEvent) Reset() {
*x = MessageEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_model_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MessageEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MessageEvent) ProtoMessage() {}
func (x *MessageEvent) ProtoReflect() protoreflect.Message {
mi := &file_model_proto_msgTypes[40]
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 MessageEvent.ProtoReflect.Descriptor instead.
func (*MessageEvent) Descriptor() ([]byte, []int) {
return file_model_proto_rawDescGZIP(), []int{40}
}
func (x *MessageEvent) GetAction() Crud {
if x != nil {
return x.Action
}
return Crud_CREATE
}
func (x *MessageEvent) GetMsg() *ServerData {
if x != nil {
return x.Msg
}
return nil
}
var File_model_proto protoreflect.FileDescriptor
var file_model_proto_rawDesc = []byte{
0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x70,
0x62, 0x78, 0x22, 0x08, 0x0a, 0x06, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x0e,
0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x75,
0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x6e, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x61, 0x6e, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x77, 0x61, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x69, 0x76, 0x65,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x22, 0x35,
0x0a, 0x06, 0x53, 0x65, 0x74, 0x53, 0x75, 0x62, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x43, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33,
0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x2e,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b,
0x01, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, 0x0a, 0x0b, 0x64, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x13, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x73,
0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x73,
0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76,
0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0xad, 0x01, 0x0a,
0x07, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x66, 0x5f, 0x6d,
0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0f, 0x69, 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53,
0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69,
0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x19,
0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x65, 0x66,
0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x65,
0x66, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x82, 0x01, 0x0a,
0x08, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x68, 0x61,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a,
0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62,
0x78, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x73, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12,
0x1e, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x73, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12,
0x20, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74,
0x61, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20,
0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63,
0x12, 0x1d, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x75, 0x62, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74,
0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72,
0x65, 0x64, 0x52, 0x04, 0x63, 0x72, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x08, 0x53, 0x65, 0x71, 0x52,
0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x69, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x68, 0x69, 0x22, 0xb8, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e,
0x74, 0x48, 0x69, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65,
0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18,
0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
0x64, 0x22, 0xee, 0x02, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69,
0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61,
0x67, 0x73, 0x12, 0x20, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0c, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x52, 0x04,
0x64, 0x65, 0x73, 0x63, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43,
0x72, 0x65, 0x64, 0x52, 0x04, 0x63, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6c, 0x65,
0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x41, 0x75, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x4c,
0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6d, 0x70, 0x5f, 0x73, 0x63, 0x68, 0x65,
0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6d, 0x70, 0x53, 0x63, 0x68,
0x65, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65,
0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x72,
0x65, 0x74, 0x22, 0x72, 0x0a, 0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x69,
0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63,
0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65,
0x74, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64,
0x52, 0x04, 0x63, 0x72, 0x65, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x65, 0x6e,
0x74, 0x53, 0x75, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x65,
0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65,
0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x5f, 0x71, 0x75,
0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x08, 0x67, 0x65, 0x74, 0x51, 0x75, 0x65,
0x72, 0x79, 0x22, 0x49, 0x0a, 0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x61, 0x76,
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x73, 0x75, 0x62,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x22, 0xcb, 0x01,
0x0a, 0x09, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74,
0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69,
0x63, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x65, 0x63, 0x68, 0x6f, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x45, 0x63, 0x68, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x68, 0x65,
0x61, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x1a, 0x37, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x09, 0x43,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69,
0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x23,
0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75,
0x65, 0x72, 0x79, 0x22, 0x56, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x23, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x74, 0x51,
0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x95, 0x02, 0x0a, 0x09,
0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70,
0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12,
0x27, 0x0a, 0x04, 0x77, 0x68, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x2e, 0x57, 0x68,
0x61, 0x74, 0x52, 0x04, 0x77, 0x68, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x5f,
0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x53, 0x65, 0x71, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71,
0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x72, 0x65,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c,
0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x64, 0x52, 0x04, 0x63, 0x72, 0x65, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x68, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x68, 0x61,
0x72, 0x64, 0x22, 0x3f, 0x0a, 0x04, 0x57, 0x68, 0x61, 0x74, 0x12, 0x06, 0x0a, 0x02, 0x58, 0x30,
0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x53, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x54,
0x4f, 0x50, 0x49, 0x43, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x55, 0x42, 0x10, 0x03, 0x12,
0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x52, 0x45,
0x44, 0x10, 0x05, 0x22, 0xb4, 0x01, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f,
0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x04, 0x77, 0x68, 0x61, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x49, 0x6e, 0x66,
0x6f, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x77, 0x68, 0x61, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x73,
0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x65, 0x71,
0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76,
0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x43, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74,
0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x0b, 0x43,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74,
0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0c,
0x6f, 0x6e, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x4f, 0x66, 0x12, 0x2d,
0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xb2, 0x03,
0x0a, 0x09, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x02, 0x68,
0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c,
0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x48, 0x00, 0x52, 0x02, 0x68, 0x69, 0x12, 0x22, 0x0a, 0x03,
0x61, 0x63, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x63,
0x12, 0x28, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x10, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x69,
0x6e, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x03, 0x73, 0x75,
0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c,
0x69, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x48, 0x00, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x28,
0x0a, 0x05, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48,
0x00, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x03, 0x70, 0x75, 0x62, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x50, 0x75, 0x62, 0x48, 0x00, 0x52, 0x03, 0x70, 0x75, 0x62, 0x12, 0x22, 0x0a, 0x03,
0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x65, 0x74,
0x12, 0x22, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52,
0x03, 0x73, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x03, 0x64, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65,
0x6c, 0x48, 0x00, 0x52, 0x03, 0x64, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12,
0x26, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61,
0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x22, 0x4e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f,
0x6e, 0x65, 0x22, 0x9d, 0x04, 0x0a, 0x09, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x44, 0x65, 0x73, 0x63,
0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d,
0x0a, 0x0a, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2b, 0x0a,
0x06, 0x64, 0x65, 0x66, 0x61, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x73, 0x4d, 0x6f,
0x64, 0x65, 0x52, 0x06, 0x64, 0x65, 0x66, 0x61, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x03, 0x61, 0x63,
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x41, 0x63,
0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x63, 0x73, 0x12, 0x15, 0x0a,
0x06, 0x73, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73,
0x65, 0x71, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18,
0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a,
0x07, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x72, 0x65, 0x63, 0x76, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64,
0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x61,
0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x65, 0x41, 0x74,
0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73,
0x5f, 0x63, 0x68, 0x61, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x43,
0x68, 0x61, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x12, 0x20,
0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6c,
0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x75,
0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52,
0x11, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65,
0x6e, 0x74, 0x22, 0xd4, 0x03, 0x0a, 0x08, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x12,
0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d,
0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f,
0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x61, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d,
0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x63, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64,
0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x49,
0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70,
0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x75, 0x63, 0x68,
0x65, 0x64, 0x41, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x65, 0x71, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x64,
0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c,
0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74,
0x53, 0x65, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74,
0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74,
0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e,
0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x4a, 0x0a, 0x09, 0x44, 0x65, 0x6c,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x26, 0x0a,
0x07, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x71, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x64,
0x65, 0x6c, 0x53, 0x65, 0x71, 0x22, 0xca, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x43, 0x74, 0x72, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65,
0x78, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43,
0x74, 0x72, 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d,
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x22, 0x9a, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74,
0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f,
0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66,
0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x71, 0x5f, 0x69, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x65, 0x71, 0x49, 0x64, 0x12, 0x2d, 0x0a,
0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62,
0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x65, 0x61,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x37, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x64, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
0xbf, 0x03, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
0x6f, 0x70, 0x69, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x73, 0x72, 0x63, 0x12, 0x28, 0x0a, 0x04, 0x77, 0x68, 0x61, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x50, 0x72, 0x65, 0x73, 0x2e, 0x57, 0x68, 0x61, 0x74, 0x52, 0x04, 0x77, 0x68, 0x61, 0x74,
0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12,
0x15, 0x0a, 0x06, 0x73, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x73, 0x65, 0x71, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x26, 0x0a,
0x07, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x71, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x64,
0x65, 0x6c, 0x53, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74,
0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61,
0x63, 0x74, 0x6f, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
0x21, 0x0a, 0x03, 0x61, 0x63, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61,
0x63, 0x73, 0x22, 0x7d, 0x0a, 0x04, 0x57, 0x68, 0x61, 0x74, 0x12, 0x06, 0x0a, 0x02, 0x58, 0x33,
0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46,
0x46, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x41, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x55,
0x50, 0x44, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x4f, 0x4e, 0x45, 0x10, 0x05, 0x12, 0x07,
0x0a, 0x03, 0x41, 0x43, 0x53, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x52, 0x4d, 0x10,
0x07, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x53, 0x47, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45,
0x41, 0x44, 0x10, 0x09, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x43, 0x56, 0x10, 0x0a, 0x12, 0x07,
0x0a, 0x03, 0x44, 0x45, 0x4c, 0x10, 0x0b, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x41, 0x47, 0x53, 0x10,
0x0c, 0x22, 0xd2, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63,
0x44, 0x65, 0x73, 0x63, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1f, 0x0a, 0x03, 0x73, 0x75,
0x62, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x54, 0x6f,
0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x20, 0x0a, 0x03, 0x64,
0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x44,
0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x03, 0x64, 0x65, 0x6c, 0x12, 0x12, 0x0a,
0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67,
0x73, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64,
0x52, 0x04, 0x63, 0x72, 0x65, 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0c, 0x66,
0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a,
0x04, 0x77, 0x68, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x70, 0x62,
0x78, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x77, 0x68, 0x61, 0x74,
0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x73, 0x65, 0x71, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x72, 0x63, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x72, 0x63, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65,
0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43,
0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12,
0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xf3, 0x01, 0x0a, 0x09, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x04, 0x63, 0x74, 0x72, 0x6c, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x43, 0x74, 0x72, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x63, 0x74, 0x72, 0x6c, 0x12, 0x25,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52,
0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x04, 0x70, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x50, 0x72, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x70, 0x72, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x04,
0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78,
0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x6d,
0x65, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e,
0x66, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x6f,
0x70, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x74,
0x6f, 0x70, 0x69, 0x63, 0x42, 0x09, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
0x81, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d,
0x2e, 0x70, 0x62, 0x78, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x72, 0x76, 0x6d, 0x73, 0x67, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x06, 0x73, 0x72, 0x76, 0x6d, 0x73, 0x67, 0x12, 0x24, 0x0a,
0x05, 0x63, 0x6c, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x05, 0x63, 0x6c,
0x6d, 0x73, 0x67, 0x22, 0xe9, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17,
0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f,
0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x62,
0x78, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x09, 0x61, 0x75, 0x74,
0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d,
0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f,
0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65,
0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63,
0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18,
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22,
0x4f, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x03,
0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x20,
0x0a, 0x04, 0x73, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x73, 0x65, 0x73, 0x73,
0x22, 0x3c, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x71,
0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x25, 0x0a,
0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x78,
0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x22, 0x67, 0x0a, 0x0a, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
0x21, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x09, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x72, 0x75, 0x64, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63,
0x44, 0x65, 0x73, 0x63, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x06, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62,
0x78, 0x2e, 0x43, 0x72, 0x75, 0x64, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17,
0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75,
0x6c, 0x74, 0x5f, 0x61, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x73, 0x4d, 0x6f, 0x64,
0x65, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x73, 0x12, 0x16, 0x0a,
0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20,
0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x11, 0x53, 0x75,
0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
0x21, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x09, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x72, 0x75, 0x64, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
0x64, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64,
0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x49,
0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x63, 0x76, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x06, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x43, 0x72, 0x75, 0x64, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x03,
0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x2a,
0x33, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x08, 0x0a, 0x04,
0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4e, 0x4f, 0x4e, 0x10, 0x0a,
0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x48, 0x10, 0x14, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x4f,
0x4f, 0x54, 0x10, 0x1e, 0x2a, 0x38, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x65,
0x12, 0x06, 0x0a, 0x02, 0x58, 0x31, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44,
0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x43, 0x56, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02,
0x4b, 0x50, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x2a, 0x6f,
0x0a, 0x09, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x06, 0x0a, 0x02, 0x58,
0x32, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x01, 0x12,
0x0a, 0x0a, 0x06, 0x41, 0x4e, 0x53, 0x57, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x48,
0x41, 0x4e, 0x47, 0x5f, 0x55, 0x50, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x43, 0x45, 0x5f,
0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x49,
0x4e, 0x56, 0x49, 0x54, 0x45, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x46, 0x46, 0x45, 0x52,
0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x49, 0x4e, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x2a,
0x3c, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x43,
0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x52, 0x4f,
0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x44, 0x10, 0x02,
0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x03, 0x2a, 0x2a, 0x0a,
0x04, 0x43, 0x72, 0x75, 0x64, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10,
0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a,
0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x32, 0x3b, 0x0a, 0x04, 0x4e, 0x6f, 0x64,
0x65, 0x12, 0x33, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x6f, 0x70,
0x12, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67,
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x73, 0x67,
0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x32, 0x9f, 0x02, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69,
0x6e, 0x12, 0x2d, 0x0a, 0x08, 0x46, 0x69, 0x72, 0x65, 0x48, 0x6f, 0x73, 0x65, 0x12, 0x0e, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e,
0x70, 0x62, 0x78, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00,
0x12, 0x2c, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53,
0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x78,
0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x2b,
0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x0b, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x22, 0x00, 0x12, 0x27, 0x0a, 0x05, 0x54,
0x6f, 0x70, 0x69, 0x63, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x0b, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x55, 0x6e, 0x75, 0x73,
0x65, 0x64, 0x22, 0x00, 0x12, 0x35, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x0b, 0x2e, 0x70,
0x62, 0x78, 0x2e, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x22, 0x00, 0x12, 0x2b, 0x0a, 0x07, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x78, 0x2e, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x0b, 0x2e, 0x70, 0x62, 0x78, 0x2e,
0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x22, 0x00, 0x42, 0x1c, 0x5a, 0x1a, 0x67, 0x69, 0x74, 0x68,
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x63, 0x68,
0x61, 0x74, 0x2f, 0x70, 0x62, 0x78, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_model_proto_rawDescOnce sync.Once
file_model_proto_rawDescData = file_model_proto_rawDesc
)
func file_model_proto_rawDescGZIP() []byte {
file_model_proto_rawDescOnce.Do(func() {
file_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_proto_rawDescData)
})
return file_model_proto_rawDescData
}
var file_model_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_model_proto_msgTypes = make([]protoimpl.MessageInfo, 45)
var file_model_proto_goTypes = []interface{}{
(AuthLevel)(0), // 0: pbx.AuthLevel
(InfoNote)(0), // 1: pbx.InfoNote
(CallEvent)(0), // 2: pbx.CallEvent
(RespCode)(0), // 3: pbx.RespCode
(Crud)(0), // 4: pbx.Crud
(ClientDel_What)(0), // 5: pbx.ClientDel.What
(ServerPres_What)(0), // 6: pbx.ServerPres.What
(*Unused)(nil), // 7: pbx.Unused
(*DefaultAcsMode)(nil), // 8: pbx.DefaultAcsMode
(*AccessMode)(nil), // 9: pbx.AccessMode
(*SetSub)(nil), // 10: pbx.SetSub
(*ClientCred)(nil), // 11: pbx.ClientCred
(*SetDesc)(nil), // 12: pbx.SetDesc
(*GetOpts)(nil), // 13: pbx.GetOpts
(*GetQuery)(nil), // 14: pbx.GetQuery
(*SetQuery)(nil), // 15: pbx.SetQuery
(*SeqRange)(nil), // 16: pbx.SeqRange
(*ClientHi)(nil), // 17: pbx.ClientHi
(*ClientAcc)(nil), // 18: pbx.ClientAcc
(*ClientLogin)(nil), // 19: pbx.ClientLogin
(*ClientSub)(nil), // 20: pbx.ClientSub
(*ClientLeave)(nil), // 21: pbx.ClientLeave
(*ClientPub)(nil), // 22: pbx.ClientPub
(*ClientGet)(nil), // 23: pbx.ClientGet
(*ClientSet)(nil), // 24: pbx.ClientSet
(*ClientDel)(nil), // 25: pbx.ClientDel
(*ClientNote)(nil), // 26: pbx.ClientNote
(*ClientExtra)(nil), // 27: pbx.ClientExtra
(*ClientMsg)(nil), // 28: pbx.ClientMsg
(*ServerCred)(nil), // 29: pbx.ServerCred
(*TopicDesc)(nil), // 30: pbx.TopicDesc
(*TopicSub)(nil), // 31: pbx.TopicSub
(*DelValues)(nil), // 32: pbx.DelValues
(*ServerCtrl)(nil), // 33: pbx.ServerCtrl
(*ServerData)(nil), // 34: pbx.ServerData
(*ServerPres)(nil), // 35: pbx.ServerPres
(*ServerMeta)(nil), // 36: pbx.ServerMeta
(*ServerInfo)(nil), // 37: pbx.ServerInfo
(*ServerMsg)(nil), // 38: pbx.ServerMsg
(*ServerResp)(nil), // 39: pbx.ServerResp
(*Session)(nil), // 40: pbx.Session
(*ClientReq)(nil), // 41: pbx.ClientReq
(*SearchQuery)(nil), // 42: pbx.SearchQuery
(*SearchFound)(nil), // 43: pbx.SearchFound
(*TopicEvent)(nil), // 44: pbx.TopicEvent
(*AccountEvent)(nil), // 45: pbx.AccountEvent
(*SubscriptionEvent)(nil), // 46: pbx.SubscriptionEvent
(*MessageEvent)(nil), // 47: pbx.MessageEvent
nil, // 48: pbx.ClientCred.ParamsEntry
nil, // 49: pbx.ClientPub.HeadEntry
nil, // 50: pbx.ServerCtrl.ParamsEntry
nil, // 51: pbx.ServerData.HeadEntry
}
var file_model_proto_depIdxs = []int32{
48, // 0: pbx.ClientCred.params:type_name -> pbx.ClientCred.ParamsEntry
8, // 1: pbx.SetDesc.default_acs:type_name -> pbx.DefaultAcsMode
13, // 2: pbx.GetQuery.desc:type_name -> pbx.GetOpts
13, // 3: pbx.GetQuery.sub:type_name -> pbx.GetOpts
13, // 4: pbx.GetQuery.data:type_name -> pbx.GetOpts
12, // 5: pbx.SetQuery.desc:type_name -> pbx.SetDesc
10, // 6: pbx.SetQuery.sub:type_name -> pbx.SetSub
11, // 7: pbx.SetQuery.cred:type_name -> pbx.ClientCred
12, // 8: pbx.ClientAcc.desc:type_name -> pbx.SetDesc
11, // 9: pbx.ClientAcc.cred:type_name -> pbx.ClientCred
0, // 10: pbx.ClientAcc.auth_level:type_name -> pbx.AuthLevel
11, // 11: pbx.ClientLogin.cred:type_name -> pbx.ClientCred
15, // 12: pbx.ClientSub.set_query:type_name -> pbx.SetQuery
14, // 13: pbx.ClientSub.get_query:type_name -> pbx.GetQuery
49, // 14: pbx.ClientPub.head:type_name -> pbx.ClientPub.HeadEntry
14, // 15: pbx.ClientGet.query:type_name -> pbx.GetQuery
15, // 16: pbx.ClientSet.query:type_name -> pbx.SetQuery
5, // 17: pbx.ClientDel.what:type_name -> pbx.ClientDel.What
16, // 18: pbx.ClientDel.del_seq:type_name -> pbx.SeqRange
11, // 19: pbx.ClientDel.cred:type_name -> pbx.ClientCred
1, // 20: pbx.ClientNote.what:type_name -> pbx.InfoNote
2, // 21: pbx.ClientNote.event:type_name -> pbx.CallEvent
0, // 22: pbx.ClientExtra.auth_level:type_name -> pbx.AuthLevel
17, // 23: pbx.ClientMsg.hi:type_name -> pbx.ClientHi
18, // 24: pbx.ClientMsg.acc:type_name -> pbx.ClientAcc
19, // 25: pbx.ClientMsg.login:type_name -> pbx.ClientLogin
20, // 26: pbx.ClientMsg.sub:type_name -> pbx.ClientSub
21, // 27: pbx.ClientMsg.leave:type_name -> pbx.ClientLeave
22, // 28: pbx.ClientMsg.pub:type_name -> pbx.ClientPub
23, // 29: pbx.ClientMsg.get:type_name -> pbx.ClientGet
24, // 30: pbx.ClientMsg.set:type_name -> pbx.ClientSet
25, // 31: pbx.ClientMsg.del:type_name -> pbx.ClientDel
26, // 32: pbx.ClientMsg.note:type_name -> pbx.ClientNote
27, // 33: pbx.ClientMsg.extra:type_name -> pbx.ClientExtra
8, // 34: pbx.TopicDesc.defacs:type_name -> pbx.DefaultAcsMode
9, // 35: pbx.TopicDesc.acs:type_name -> pbx.AccessMode
9, // 36: pbx.TopicSub.acs:type_name -> pbx.AccessMode
16, // 37: pbx.DelValues.del_seq:type_name -> pbx.SeqRange
50, // 38: pbx.ServerCtrl.params:type_name -> pbx.ServerCtrl.ParamsEntry
51, // 39: pbx.ServerData.head:type_name -> pbx.ServerData.HeadEntry
6, // 40: pbx.ServerPres.what:type_name -> pbx.ServerPres.What
16, // 41: pbx.ServerPres.del_seq:type_name -> pbx.SeqRange
9, // 42: pbx.ServerPres.acs:type_name -> pbx.AccessMode
30, // 43: pbx.ServerMeta.desc:type_name -> pbx.TopicDesc
31, // 44: pbx.ServerMeta.sub:type_name -> pbx.TopicSub
32, // 45: pbx.ServerMeta.del:type_name -> pbx.DelValues
29, // 46: pbx.ServerMeta.cred:type_name -> pbx.ServerCred
1, // 47: pbx.ServerInfo.what:type_name -> pbx.InfoNote
2, // 48: pbx.ServerInfo.event:type_name -> pbx.CallEvent
33, // 49: pbx.ServerMsg.ctrl:type_name -> pbx.ServerCtrl
34, // 50: pbx.ServerMsg.data:type_name -> pbx.ServerData
35, // 51: pbx.ServerMsg.pres:type_name -> pbx.ServerPres
36, // 52: pbx.ServerMsg.meta:type_name -> pbx.ServerMeta
37, // 53: pbx.ServerMsg.info:type_name -> pbx.ServerInfo
3, // 54: pbx.ServerResp.status:type_name -> pbx.RespCode
38, // 55: pbx.ServerResp.srvmsg:type_name -> pbx.ServerMsg
28, // 56: pbx.ServerResp.clmsg:type_name -> pbx.ClientMsg
0, // 57: pbx.Session.auth_level:type_name -> pbx.AuthLevel
28, // 58: pbx.ClientReq.msg:type_name -> pbx.ClientMsg
40, // 59: pbx.ClientReq.sess:type_name -> pbx.Session
3, // 60: pbx.SearchFound.status:type_name -> pbx.RespCode
31, // 61: pbx.SearchFound.result:type_name -> pbx.TopicSub
4, // 62: pbx.TopicEvent.action:type_name -> pbx.Crud
30, // 63: pbx.TopicEvent.desc:type_name -> pbx.TopicDesc
4, // 64: pbx.AccountEvent.action:type_name -> pbx.Crud
8, // 65: pbx.AccountEvent.default_acs:type_name -> pbx.DefaultAcsMode
4, // 66: pbx.SubscriptionEvent.action:type_name -> pbx.Crud
9, // 67: pbx.SubscriptionEvent.mode:type_name -> pbx.AccessMode
4, // 68: pbx.MessageEvent.action:type_name -> pbx.Crud
34, // 69: pbx.MessageEvent.msg:type_name -> pbx.ServerData
28, // 70: pbx.Node.MessageLoop:input_type -> pbx.ClientMsg
41, // 71: pbx.Plugin.FireHose:input_type -> pbx.ClientReq
42, // 72: pbx.Plugin.Find:input_type -> pbx.SearchQuery
45, // 73: pbx.Plugin.Account:input_type -> pbx.AccountEvent
44, // 74: pbx.Plugin.Topic:input_type -> pbx.TopicEvent
46, // 75: pbx.Plugin.Subscription:input_type -> pbx.SubscriptionEvent
47, // 76: pbx.Plugin.Message:input_type -> pbx.MessageEvent
38, // 77: pbx.Node.MessageLoop:output_type -> pbx.ServerMsg
39, // 78: pbx.Plugin.FireHose:output_type -> pbx.ServerResp
43, // 79: pbx.Plugin.Find:output_type -> pbx.SearchFound
7, // 80: pbx.Plugin.Account:output_type -> pbx.Unused
7, // 81: pbx.Plugin.Topic:output_type -> pbx.Unused
7, // 82: pbx.Plugin.Subscription:output_type -> pbx.Unused
7, // 83: pbx.Plugin.Message:output_type -> pbx.Unused
77, // [77:84] is the sub-list for method output_type
70, // [70:77] is the sub-list for method input_type
70, // [70:70] is the sub-list for extension type_name
70, // [70:70] is the sub-list for extension extendee
0, // [0:70] is the sub-list for field type_name
}
func init() { file_model_proto_init() }
func file_model_proto_init() {
if File_model_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Unused); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DefaultAcsMode); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AccessMode); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetSub); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientCred); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetDesc); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetOpts); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetQuery); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetQuery); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SeqRange); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientHi); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientAcc); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientLogin); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientSub); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientLeave); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientPub); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientGet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientSet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientDel); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientNote); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientExtra); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientMsg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerCred); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TopicDesc); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TopicSub); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DelValues); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerCtrl); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerPres); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerMeta); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerMsg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Session); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchQuery); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SearchFound); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TopicEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AccountEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubscriptionEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_model_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MessageEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_model_proto_msgTypes[21].OneofWrappers = []interface{}{
(*ClientMsg_Hi)(nil),
(*ClientMsg_Acc)(nil),
(*ClientMsg_Login)(nil),
(*ClientMsg_Sub)(nil),
(*ClientMsg_Leave)(nil),
(*ClientMsg_Pub)(nil),
(*ClientMsg_Get)(nil),
(*ClientMsg_Set)(nil),
(*ClientMsg_Del)(nil),
(*ClientMsg_Note)(nil),
}
file_model_proto_msgTypes[31].OneofWrappers = []interface{}{
(*ServerMsg_Ctrl)(nil),
(*ServerMsg_Data)(nil),
(*ServerMsg_Pres)(nil),
(*ServerMsg_Meta)(nil),
(*ServerMsg_Info)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_model_proto_rawDesc,
NumEnums: 7,
NumMessages: 45,
NumExtensions: 0,
NumServices: 2,
},
GoTypes: file_model_proto_goTypes,
DependencyIndexes: file_model_proto_depIdxs,
EnumInfos: file_model_proto_enumTypes,
MessageInfos: file_model_proto_msgTypes,
}.Build()
File_model_proto = out.File
file_model_proto_rawDesc = nil
file_model_proto_goTypes = nil
file_model_proto_depIdxs = nil
}