github.com/metaworking/channeld@v0.7.3/pkg/channeldpb/channeld.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.28.1
     4  // 	protoc        v3.20.1
     5  // source: channeld.proto
     6  
     7  package channeldpb
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	anypb "google.golang.org/protobuf/types/known/anypb"
    13  	reflect "reflect"
    14  	sync "sync"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  // Can be used as the Flags-style enum in C#. See https://groups.google.com/g/protobuf/c/L105Q4NIk0U?pli=1.
    25  type BroadcastType int32
    26  
    27  const (
    28  	// No broadcast. All internal messages should use this type, and other types are ignored.
    29  	BroadcastType_NO_BROADCAST BroadcastType = 0
    30  	// Forward the message to the connection. Can only be used by the backend server.
    31  	// This has the same behavior as sending the message to the PRIVATE channel owned by the target connection with BroadcastType = NO.
    32  	BroadcastType_SINGLE_CONNECTION BroadcastType = 1
    33  	// Broadcast the message to all the connections in the channel, the sender included.
    34  	BroadcastType_ALL BroadcastType = 2
    35  	// Broadcast the message to all the connections in the channel, the sender excluded.
    36  	BroadcastType_ALL_BUT_SENDER BroadcastType = 4
    37  	// Broadcast the message to all the connections in the channel, the owner excluded.
    38  	BroadcastType_ALL_BUT_OWNER BroadcastType = 8
    39  	// Broadcast the message to all client connections in the channel.
    40  	BroadcastType_ALL_BUT_CLIENT BroadcastType = 16
    41  	// Broadcast the message to all server connections in the channel, the owner excluded.
    42  	BroadcastType_ALL_BUT_SERVER BroadcastType = 32
    43  	// Broadcast the message to all the connections in all the adjacent(3x3) spatial channels. Ignored if the target channel is not a spatial channel.
    44  	// To ignore the center spatial channel, use ADJACENT_CHANNELS | ALL_BUT_OWNER; to ignore the sender(spatial server), use ADJACENT_CHANNELS | ALL_BUT_SENDER.
    45  	BroadcastType_ADJACENT_CHANNELS BroadcastType = 64
    46  )
    47  
    48  // Enum value maps for BroadcastType.
    49  var (
    50  	BroadcastType_name = map[int32]string{
    51  		0:  "NO_BROADCAST",
    52  		1:  "SINGLE_CONNECTION",
    53  		2:  "ALL",
    54  		4:  "ALL_BUT_SENDER",
    55  		8:  "ALL_BUT_OWNER",
    56  		16: "ALL_BUT_CLIENT",
    57  		32: "ALL_BUT_SERVER",
    58  		64: "ADJACENT_CHANNELS",
    59  	}
    60  	BroadcastType_value = map[string]int32{
    61  		"NO_BROADCAST":      0,
    62  		"SINGLE_CONNECTION": 1,
    63  		"ALL":               2,
    64  		"ALL_BUT_SENDER":    4,
    65  		"ALL_BUT_OWNER":     8,
    66  		"ALL_BUT_CLIENT":    16,
    67  		"ALL_BUT_SERVER":    32,
    68  		"ADJACENT_CHANNELS": 64,
    69  	}
    70  )
    71  
    72  func (x BroadcastType) Enum() *BroadcastType {
    73  	p := new(BroadcastType)
    74  	*p = x
    75  	return p
    76  }
    77  
    78  func (x BroadcastType) String() string {
    79  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    80  }
    81  
    82  func (BroadcastType) Descriptor() protoreflect.EnumDescriptor {
    83  	return file_channeld_proto_enumTypes[0].Descriptor()
    84  }
    85  
    86  func (BroadcastType) Type() protoreflect.EnumType {
    87  	return &file_channeld_proto_enumTypes[0]
    88  }
    89  
    90  func (x BroadcastType) Number() protoreflect.EnumNumber {
    91  	return protoreflect.EnumNumber(x)
    92  }
    93  
    94  // Deprecated: Use BroadcastType.Descriptor instead.
    95  func (BroadcastType) EnumDescriptor() ([]byte, []int) {
    96  	return file_channeld_proto_rawDescGZIP(), []int{0}
    97  }
    98  
    99  type ConnectionType int32
   100  
   101  const (
   102  	ConnectionType_NO_CONNECTION ConnectionType = 0
   103  	ConnectionType_SERVER        ConnectionType = 1
   104  	ConnectionType_CLIENT        ConnectionType = 2
   105  )
   106  
   107  // Enum value maps for ConnectionType.
   108  var (
   109  	ConnectionType_name = map[int32]string{
   110  		0: "NO_CONNECTION",
   111  		1: "SERVER",
   112  		2: "CLIENT",
   113  	}
   114  	ConnectionType_value = map[string]int32{
   115  		"NO_CONNECTION": 0,
   116  		"SERVER":        1,
   117  		"CLIENT":        2,
   118  	}
   119  )
   120  
   121  func (x ConnectionType) Enum() *ConnectionType {
   122  	p := new(ConnectionType)
   123  	*p = x
   124  	return p
   125  }
   126  
   127  func (x ConnectionType) String() string {
   128  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   129  }
   130  
   131  func (ConnectionType) Descriptor() protoreflect.EnumDescriptor {
   132  	return file_channeld_proto_enumTypes[1].Descriptor()
   133  }
   134  
   135  func (ConnectionType) Type() protoreflect.EnumType {
   136  	return &file_channeld_proto_enumTypes[1]
   137  }
   138  
   139  func (x ConnectionType) Number() protoreflect.EnumNumber {
   140  	return protoreflect.EnumNumber(x)
   141  }
   142  
   143  // Deprecated: Use ConnectionType.Descriptor instead.
   144  func (ConnectionType) EnumDescriptor() ([]byte, []int) {
   145  	return file_channeld_proto_rawDescGZIP(), []int{1}
   146  }
   147  
   148  type ChannelType int32
   149  
   150  const (
   151  	ChannelType_UNKNOWN ChannelType = 0
   152  	// Default channel. Any message without ChannelId specified (equals 0) will be sent to this channel.
   153  	ChannelType_GLOBAL ChannelType = 1
   154  	// Per-connection channel. Useful to store the user data and subscribe the client to the data update.
   155  	ChannelType_PRIVATE ChannelType = 2
   156  	// A game "room" in a session-based game, or a "dungeon" in an MMORPG. Subworlds are spatially divided thus the interests are isolated.
   157  	ChannelType_SUBWORLD ChannelType = 3
   158  	// Spatial channels are spatailly connected. Using this type of channel to implement a seamless open world which consists of servers, and each server simulates a part of the world.
   159  	// Only server connections can create the spatial channel.
   160  	ChannelType_SPATIAL ChannelType = 4
   161  	ChannelType_ENTITY  ChannelType = 5
   162  	// The following are for tests.
   163  	ChannelType_TEST  ChannelType = 100
   164  	ChannelType_TEST1 ChannelType = 101
   165  	ChannelType_TEST2 ChannelType = 102
   166  	ChannelType_TEST3 ChannelType = 103
   167  	ChannelType_TEST4 ChannelType = 104
   168  )
   169  
   170  // Enum value maps for ChannelType.
   171  var (
   172  	ChannelType_name = map[int32]string{
   173  		0:   "UNKNOWN",
   174  		1:   "GLOBAL",
   175  		2:   "PRIVATE",
   176  		3:   "SUBWORLD",
   177  		4:   "SPATIAL",
   178  		5:   "ENTITY",
   179  		100: "TEST",
   180  		101: "TEST1",
   181  		102: "TEST2",
   182  		103: "TEST3",
   183  		104: "TEST4",
   184  	}
   185  	ChannelType_value = map[string]int32{
   186  		"UNKNOWN":  0,
   187  		"GLOBAL":   1,
   188  		"PRIVATE":  2,
   189  		"SUBWORLD": 3,
   190  		"SPATIAL":  4,
   191  		"ENTITY":   5,
   192  		"TEST":     100,
   193  		"TEST1":    101,
   194  		"TEST2":    102,
   195  		"TEST3":    103,
   196  		"TEST4":    104,
   197  	}
   198  )
   199  
   200  func (x ChannelType) Enum() *ChannelType {
   201  	p := new(ChannelType)
   202  	*p = x
   203  	return p
   204  }
   205  
   206  func (x ChannelType) String() string {
   207  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   208  }
   209  
   210  func (ChannelType) Descriptor() protoreflect.EnumDescriptor {
   211  	return file_channeld_proto_enumTypes[2].Descriptor()
   212  }
   213  
   214  func (ChannelType) Type() protoreflect.EnumType {
   215  	return &file_channeld_proto_enumTypes[2]
   216  }
   217  
   218  func (x ChannelType) Number() protoreflect.EnumNumber {
   219  	return protoreflect.EnumNumber(x)
   220  }
   221  
   222  // Deprecated: Use ChannelType.Descriptor instead.
   223  func (ChannelType) EnumDescriptor() ([]byte, []int) {
   224  	return file_channeld_proto_rawDescGZIP(), []int{2}
   225  }
   226  
   227  type MessageType int32
   228  
   229  const (
   230  	MessageType_INVALID MessageType = 0
   231  	// Used by both @AuthMessage and @AuthResultMessage
   232  	MessageType_AUTH MessageType = 1
   233  	// Used by both @CreateChannelMessage and @CreateChannelResultMessage
   234  	MessageType_CREATE_CHANNEL MessageType = 3
   235  	// Used by @RemoveChannelMessage
   236  	MessageType_REMOVE_CHANNEL MessageType = 4
   237  	// Used by both @ListChannelMessage and @ListChannelResultMessage
   238  	MessageType_LIST_CHANNEL MessageType = 5
   239  	// Used by both @SubscribedToChannelMessage and @SubscribedToChannelResultMessage
   240  	MessageType_SUB_TO_CHANNEL MessageType = 6
   241  	// Used by both @UnsubscribedFromChannelMessage and @UnsubscribedFromChannelResultMessage
   242  	MessageType_UNSUB_FROM_CHANNEL MessageType = 7
   243  	// Used by @ChannelDataUpdateMessage
   244  	MessageType_CHANNEL_DATA_UPDATE MessageType = 8
   245  	// Used by @DisconnectMessage
   246  	MessageType_DISCONNECT MessageType = 9
   247  	// Used by both @CreateChannelMessage and @CreateSpatialChannelsResultMessage
   248  	MessageType_CREATE_SPATIAL_CHANNEL MessageType = 10
   249  	// Used by both @QuerySpatialChannelMessage and @QuerySpatialChannelResultMessage
   250  	MessageType_QUERY_SPATIAL_CHANNEL MessageType = 11
   251  	// Used by @ChannelDataHandoverMessage
   252  	MessageType_CHANNEL_DATA_HANDOVER MessageType = 12
   253  	// Used by @SpatialRegionsUpdateMessage
   254  	MessageType_SPATIAL_REGIONS_UPDATE MessageType = 13
   255  	// Used by @UpdateSpatialInterestMessage
   256  	MessageType_UPDATE_SPATIAL_INTEREST MessageType = 14
   257  	// Used by @CreateEntityChannelMessage
   258  	MessageType_CREATE_ENTITY_CHANNEL MessageType = 15
   259  	// Used by @AddEntityGroupMessage
   260  	MessageType_ENTITY_GROUP_ADD MessageType = 16
   261  	// Used by @RemoveEntityGroupMessage
   262  	MessageType_ENTITY_GROUP_REMOVE MessageType = 17
   263  	// Used by @SpatialChannelsReadyMessage
   264  	MessageType_SPATIAL_CHANNELS_READY MessageType = 18
   265  	// Used by @DebugGetSpatialRegionsMessage
   266  	MessageType_DEBUG_GET_SPATIAL_REGIONS MessageType = 99
   267  	// Start of any user-space defined message
   268  	MessageType_USER_SPACE_START MessageType = 100
   269  )
   270  
   271  // Enum value maps for MessageType.
   272  var (
   273  	MessageType_name = map[int32]string{
   274  		0:   "INVALID",
   275  		1:   "AUTH",
   276  		3:   "CREATE_CHANNEL",
   277  		4:   "REMOVE_CHANNEL",
   278  		5:   "LIST_CHANNEL",
   279  		6:   "SUB_TO_CHANNEL",
   280  		7:   "UNSUB_FROM_CHANNEL",
   281  		8:   "CHANNEL_DATA_UPDATE",
   282  		9:   "DISCONNECT",
   283  		10:  "CREATE_SPATIAL_CHANNEL",
   284  		11:  "QUERY_SPATIAL_CHANNEL",
   285  		12:  "CHANNEL_DATA_HANDOVER",
   286  		13:  "SPATIAL_REGIONS_UPDATE",
   287  		14:  "UPDATE_SPATIAL_INTEREST",
   288  		15:  "CREATE_ENTITY_CHANNEL",
   289  		16:  "ENTITY_GROUP_ADD",
   290  		17:  "ENTITY_GROUP_REMOVE",
   291  		18:  "SPATIAL_CHANNELS_READY",
   292  		99:  "DEBUG_GET_SPATIAL_REGIONS",
   293  		100: "USER_SPACE_START",
   294  	}
   295  	MessageType_value = map[string]int32{
   296  		"INVALID":                   0,
   297  		"AUTH":                      1,
   298  		"CREATE_CHANNEL":            3,
   299  		"REMOVE_CHANNEL":            4,
   300  		"LIST_CHANNEL":              5,
   301  		"SUB_TO_CHANNEL":            6,
   302  		"UNSUB_FROM_CHANNEL":        7,
   303  		"CHANNEL_DATA_UPDATE":       8,
   304  		"DISCONNECT":                9,
   305  		"CREATE_SPATIAL_CHANNEL":    10,
   306  		"QUERY_SPATIAL_CHANNEL":     11,
   307  		"CHANNEL_DATA_HANDOVER":     12,
   308  		"SPATIAL_REGIONS_UPDATE":    13,
   309  		"UPDATE_SPATIAL_INTEREST":   14,
   310  		"CREATE_ENTITY_CHANNEL":     15,
   311  		"ENTITY_GROUP_ADD":          16,
   312  		"ENTITY_GROUP_REMOVE":       17,
   313  		"SPATIAL_CHANNELS_READY":    18,
   314  		"DEBUG_GET_SPATIAL_REGIONS": 99,
   315  		"USER_SPACE_START":          100,
   316  	}
   317  )
   318  
   319  func (x MessageType) Enum() *MessageType {
   320  	p := new(MessageType)
   321  	*p = x
   322  	return p
   323  }
   324  
   325  func (x MessageType) String() string {
   326  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   327  }
   328  
   329  func (MessageType) Descriptor() protoreflect.EnumDescriptor {
   330  	return file_channeld_proto_enumTypes[3].Descriptor()
   331  }
   332  
   333  func (MessageType) Type() protoreflect.EnumType {
   334  	return &file_channeld_proto_enumTypes[3]
   335  }
   336  
   337  func (x MessageType) Number() protoreflect.EnumNumber {
   338  	return protoreflect.EnumNumber(x)
   339  }
   340  
   341  // Deprecated: Use MessageType.Descriptor instead.
   342  func (MessageType) EnumDescriptor() ([]byte, []int) {
   343  	return file_channeld_proto_rawDescGZIP(), []int{3}
   344  }
   345  
   346  type CompressionType int32
   347  
   348  const (
   349  	CompressionType_NO_COMPRESSION CompressionType = 0
   350  	// https://github.com/google/snappy
   351  	CompressionType_SNAPPY CompressionType = 1
   352  )
   353  
   354  // Enum value maps for CompressionType.
   355  var (
   356  	CompressionType_name = map[int32]string{
   357  		0: "NO_COMPRESSION",
   358  		1: "SNAPPY",
   359  	}
   360  	CompressionType_value = map[string]int32{
   361  		"NO_COMPRESSION": 0,
   362  		"SNAPPY":         1,
   363  	}
   364  )
   365  
   366  func (x CompressionType) Enum() *CompressionType {
   367  	p := new(CompressionType)
   368  	*p = x
   369  	return p
   370  }
   371  
   372  func (x CompressionType) String() string {
   373  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   374  }
   375  
   376  func (CompressionType) Descriptor() protoreflect.EnumDescriptor {
   377  	return file_channeld_proto_enumTypes[4].Descriptor()
   378  }
   379  
   380  func (CompressionType) Type() protoreflect.EnumType {
   381  	return &file_channeld_proto_enumTypes[4]
   382  }
   383  
   384  func (x CompressionType) Number() protoreflect.EnumNumber {
   385  	return protoreflect.EnumNumber(x)
   386  }
   387  
   388  // Deprecated: Use CompressionType.Descriptor instead.
   389  func (CompressionType) EnumDescriptor() ([]byte, []int) {
   390  	return file_channeld_proto_rawDescGZIP(), []int{4}
   391  }
   392  
   393  type ChannelDataAccess int32
   394  
   395  const (
   396  	ChannelDataAccess_NO_ACCESS    ChannelDataAccess = 0
   397  	ChannelDataAccess_READ_ACCESS  ChannelDataAccess = 1
   398  	ChannelDataAccess_WRITE_ACCESS ChannelDataAccess = 2
   399  )
   400  
   401  // Enum value maps for ChannelDataAccess.
   402  var (
   403  	ChannelDataAccess_name = map[int32]string{
   404  		0: "NO_ACCESS",
   405  		1: "READ_ACCESS",
   406  		2: "WRITE_ACCESS",
   407  	}
   408  	ChannelDataAccess_value = map[string]int32{
   409  		"NO_ACCESS":    0,
   410  		"READ_ACCESS":  1,
   411  		"WRITE_ACCESS": 2,
   412  	}
   413  )
   414  
   415  func (x ChannelDataAccess) Enum() *ChannelDataAccess {
   416  	p := new(ChannelDataAccess)
   417  	*p = x
   418  	return p
   419  }
   420  
   421  func (x ChannelDataAccess) String() string {
   422  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   423  }
   424  
   425  func (ChannelDataAccess) Descriptor() protoreflect.EnumDescriptor {
   426  	return file_channeld_proto_enumTypes[5].Descriptor()
   427  }
   428  
   429  func (ChannelDataAccess) Type() protoreflect.EnumType {
   430  	return &file_channeld_proto_enumTypes[5]
   431  }
   432  
   433  func (x ChannelDataAccess) Number() protoreflect.EnumNumber {
   434  	return protoreflect.EnumNumber(x)
   435  }
   436  
   437  // Deprecated: Use ChannelDataAccess.Descriptor instead.
   438  func (ChannelDataAccess) EnumDescriptor() ([]byte, []int) {
   439  	return file_channeld_proto_rawDescGZIP(), []int{5}
   440  }
   441  
   442  type EntityGroupType int32
   443  
   444  const (
   445  	EntityGroupType_HANDOVER EntityGroupType = 0
   446  	EntityGroupType_LOCK     EntityGroupType = 1
   447  )
   448  
   449  // Enum value maps for EntityGroupType.
   450  var (
   451  	EntityGroupType_name = map[int32]string{
   452  		0: "HANDOVER",
   453  		1: "LOCK",
   454  	}
   455  	EntityGroupType_value = map[string]int32{
   456  		"HANDOVER": 0,
   457  		"LOCK":     1,
   458  	}
   459  )
   460  
   461  func (x EntityGroupType) Enum() *EntityGroupType {
   462  	p := new(EntityGroupType)
   463  	*p = x
   464  	return p
   465  }
   466  
   467  func (x EntityGroupType) String() string {
   468  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   469  }
   470  
   471  func (EntityGroupType) Descriptor() protoreflect.EnumDescriptor {
   472  	return file_channeld_proto_enumTypes[6].Descriptor()
   473  }
   474  
   475  func (EntityGroupType) Type() protoreflect.EnumType {
   476  	return &file_channeld_proto_enumTypes[6]
   477  }
   478  
   479  func (x EntityGroupType) Number() protoreflect.EnumNumber {
   480  	return protoreflect.EnumNumber(x)
   481  }
   482  
   483  // Deprecated: Use EntityGroupType.Descriptor instead.
   484  func (EntityGroupType) EnumDescriptor() ([]byte, []int) {
   485  	return file_channeld_proto_rawDescGZIP(), []int{6}
   486  }
   487  
   488  type AuthResultMessage_AuthResult int32
   489  
   490  const (
   491  	AuthResultMessage_SUCCESSFUL  AuthResultMessage_AuthResult = 0
   492  	AuthResultMessage_INVALID_PIT AuthResultMessage_AuthResult = 1
   493  	AuthResultMessage_INVALID_LT  AuthResultMessage_AuthResult = 2
   494  )
   495  
   496  // Enum value maps for AuthResultMessage_AuthResult.
   497  var (
   498  	AuthResultMessage_AuthResult_name = map[int32]string{
   499  		0: "SUCCESSFUL",
   500  		1: "INVALID_PIT",
   501  		2: "INVALID_LT",
   502  	}
   503  	AuthResultMessage_AuthResult_value = map[string]int32{
   504  		"SUCCESSFUL":  0,
   505  		"INVALID_PIT": 1,
   506  		"INVALID_LT":  2,
   507  	}
   508  )
   509  
   510  func (x AuthResultMessage_AuthResult) Enum() *AuthResultMessage_AuthResult {
   511  	p := new(AuthResultMessage_AuthResult)
   512  	*p = x
   513  	return p
   514  }
   515  
   516  func (x AuthResultMessage_AuthResult) String() string {
   517  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   518  }
   519  
   520  func (AuthResultMessage_AuthResult) Descriptor() protoreflect.EnumDescriptor {
   521  	return file_channeld_proto_enumTypes[7].Descriptor()
   522  }
   523  
   524  func (AuthResultMessage_AuthResult) Type() protoreflect.EnumType {
   525  	return &file_channeld_proto_enumTypes[7]
   526  }
   527  
   528  func (x AuthResultMessage_AuthResult) Number() protoreflect.EnumNumber {
   529  	return protoreflect.EnumNumber(x)
   530  }
   531  
   532  // Deprecated: Use AuthResultMessage_AuthResult.Descriptor instead.
   533  func (AuthResultMessage_AuthResult) EnumDescriptor() ([]byte, []int) {
   534  	return file_channeld_proto_rawDescGZIP(), []int{4, 0}
   535  }
   536  
   537  // The data packet that is sent between the endpoints. A packet can have multiple messages in the payload in one trip to improve the efficiency.
   538  type Packet struct {
   539  	state         protoimpl.MessageState
   540  	sizeCache     protoimpl.SizeCache
   541  	unknownFields protoimpl.UnknownFields
   542  
   543  	Messages []*MessagePack `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
   544  }
   545  
   546  func (x *Packet) Reset() {
   547  	*x = Packet{}
   548  	if protoimpl.UnsafeEnabled {
   549  		mi := &file_channeld_proto_msgTypes[0]
   550  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   551  		ms.StoreMessageInfo(mi)
   552  	}
   553  }
   554  
   555  func (x *Packet) String() string {
   556  	return protoimpl.X.MessageStringOf(x)
   557  }
   558  
   559  func (*Packet) ProtoMessage() {}
   560  
   561  func (x *Packet) ProtoReflect() protoreflect.Message {
   562  	mi := &file_channeld_proto_msgTypes[0]
   563  	if protoimpl.UnsafeEnabled && x != nil {
   564  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   565  		if ms.LoadMessageInfo() == nil {
   566  			ms.StoreMessageInfo(mi)
   567  		}
   568  		return ms
   569  	}
   570  	return mi.MessageOf(x)
   571  }
   572  
   573  // Deprecated: Use Packet.ProtoReflect.Descriptor instead.
   574  func (*Packet) Descriptor() ([]byte, []int) {
   575  	return file_channeld_proto_rawDescGZIP(), []int{0}
   576  }
   577  
   578  func (x *Packet) GetMessages() []*MessagePack {
   579  	if x != nil {
   580  		return x.Messages
   581  	}
   582  	return nil
   583  }
   584  
   585  // The serialized message and the context of it.
   586  type MessagePack struct {
   587  	state         protoimpl.MessageState
   588  	sizeCache     protoimpl.SizeCache
   589  	unknownFields protoimpl.UnknownFields
   590  
   591  	// The ID of the channel that the message is sent to, or received from channeld.
   592  	// 0 is the GLOBAL channel; 1-65535 are for non-spatial channels;
   593  	// beyond (0xffff-0xffffffff) are reserved for spatial channels.
   594  	ChannelId uint32 `protobuf:"varint,1,opt,name=channelId,proto3" json:"channelId,omitempty"`
   595  	// How the message will be broadcasted to all connections in the channel?
   596  	// See @BroadcastType. ONLY works for the user-space messages.
   597  	Broadcast uint32 `protobuf:"varint,2,opt,name=broadcast,proto3" json:"broadcast,omitempty"`
   598  	// The stub for RPC callbacks.
   599  	// 0 means the message is not a RPC message.
   600  	StubId uint32 `protobuf:"varint,3,opt,name=stubId,proto3" json:"stubId,omitempty"`
   601  	// The MessageType either defined in @MessageType enum, or defined in user space.
   602  	MsgType uint32 `protobuf:"varint,4,opt,name=msgType,proto3" json:"msgType,omitempty"`
   603  	// The serialized message. It's Protobuf-marshalled byte array if the message is defined in @MessageType.
   604  	MsgBody []byte `protobuf:"bytes,5,opt,name=msgBody,proto3" json:"msgBody,omitempty"`
   605  }
   606  
   607  func (x *MessagePack) Reset() {
   608  	*x = MessagePack{}
   609  	if protoimpl.UnsafeEnabled {
   610  		mi := &file_channeld_proto_msgTypes[1]
   611  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   612  		ms.StoreMessageInfo(mi)
   613  	}
   614  }
   615  
   616  func (x *MessagePack) String() string {
   617  	return protoimpl.X.MessageStringOf(x)
   618  }
   619  
   620  func (*MessagePack) ProtoMessage() {}
   621  
   622  func (x *MessagePack) ProtoReflect() protoreflect.Message {
   623  	mi := &file_channeld_proto_msgTypes[1]
   624  	if protoimpl.UnsafeEnabled && x != nil {
   625  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   626  		if ms.LoadMessageInfo() == nil {
   627  			ms.StoreMessageInfo(mi)
   628  		}
   629  		return ms
   630  	}
   631  	return mi.MessageOf(x)
   632  }
   633  
   634  // Deprecated: Use MessagePack.ProtoReflect.Descriptor instead.
   635  func (*MessagePack) Descriptor() ([]byte, []int) {
   636  	return file_channeld_proto_rawDescGZIP(), []int{1}
   637  }
   638  
   639  func (x *MessagePack) GetChannelId() uint32 {
   640  	if x != nil {
   641  		return x.ChannelId
   642  	}
   643  	return 0
   644  }
   645  
   646  func (x *MessagePack) GetBroadcast() uint32 {
   647  	if x != nil {
   648  		return x.Broadcast
   649  	}
   650  	return 0
   651  }
   652  
   653  func (x *MessagePack) GetStubId() uint32 {
   654  	if x != nil {
   655  		return x.StubId
   656  	}
   657  	return 0
   658  }
   659  
   660  func (x *MessagePack) GetMsgType() uint32 {
   661  	if x != nil {
   662  		return x.MsgType
   663  	}
   664  	return 0
   665  }
   666  
   667  func (x *MessagePack) GetMsgBody() []byte {
   668  	if x != nil {
   669  		return x.MsgBody
   670  	}
   671  	return nil
   672  }
   673  
   674  // The message that is used to carries user-space message and communicate between channeld and backend servers.
   675  // Users don't need to use this message directly if they are using a client library.
   676  type ServerForwardMessage struct {
   677  	state         protoimpl.MessageState
   678  	sizeCache     protoimpl.SizeCache
   679  	unknownFields protoimpl.UnknownFields
   680  
   681  	// The client that sends the user-space message to server or server sends the user-space message to.
   682  	// If a server sends to channeld with clientConnId = 0, the message will be forwarded to the channel owner.
   683  	ClientConnId uint32 `protobuf:"varint,1,opt,name=clientConnId,proto3" json:"clientConnId,omitempty"`
   684  	// The user-space message. channeld leaves it as the original binary format.
   685  	Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
   686  }
   687  
   688  func (x *ServerForwardMessage) Reset() {
   689  	*x = ServerForwardMessage{}
   690  	if protoimpl.UnsafeEnabled {
   691  		mi := &file_channeld_proto_msgTypes[2]
   692  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   693  		ms.StoreMessageInfo(mi)
   694  	}
   695  }
   696  
   697  func (x *ServerForwardMessage) String() string {
   698  	return protoimpl.X.MessageStringOf(x)
   699  }
   700  
   701  func (*ServerForwardMessage) ProtoMessage() {}
   702  
   703  func (x *ServerForwardMessage) ProtoReflect() protoreflect.Message {
   704  	mi := &file_channeld_proto_msgTypes[2]
   705  	if protoimpl.UnsafeEnabled && x != nil {
   706  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   707  		if ms.LoadMessageInfo() == nil {
   708  			ms.StoreMessageInfo(mi)
   709  		}
   710  		return ms
   711  	}
   712  	return mi.MessageOf(x)
   713  }
   714  
   715  // Deprecated: Use ServerForwardMessage.ProtoReflect.Descriptor instead.
   716  func (*ServerForwardMessage) Descriptor() ([]byte, []int) {
   717  	return file_channeld_proto_rawDescGZIP(), []int{2}
   718  }
   719  
   720  func (x *ServerForwardMessage) GetClientConnId() uint32 {
   721  	if x != nil {
   722  		return x.ClientConnId
   723  	}
   724  	return 0
   725  }
   726  
   727  func (x *ServerForwardMessage) GetPayload() []byte {
   728  	if x != nil {
   729  		return x.Payload
   730  	}
   731  	return nil
   732  }
   733  
   734  // The message should have channelId = 0 in order to be handled.
   735  // Response: @AuthResultMessage. The GLOBAL channel owner will also receive this message (to handle the client's subscription if it doesn't have the authority to).
   736  type AuthMessage struct {
   737  	state         protoimpl.MessageState
   738  	sizeCache     protoimpl.SizeCache
   739  	unknownFields protoimpl.UnknownFields
   740  
   741  	PlayerIdentifierToken string `protobuf:"bytes,1,opt,name=playerIdentifierToken,proto3" json:"playerIdentifierToken,omitempty"`
   742  	LoginToken            string `protobuf:"bytes,2,opt,name=loginToken,proto3" json:"loginToken,omitempty"`
   743  }
   744  
   745  func (x *AuthMessage) Reset() {
   746  	*x = AuthMessage{}
   747  	if protoimpl.UnsafeEnabled {
   748  		mi := &file_channeld_proto_msgTypes[3]
   749  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   750  		ms.StoreMessageInfo(mi)
   751  	}
   752  }
   753  
   754  func (x *AuthMessage) String() string {
   755  	return protoimpl.X.MessageStringOf(x)
   756  }
   757  
   758  func (*AuthMessage) ProtoMessage() {}
   759  
   760  func (x *AuthMessage) ProtoReflect() protoreflect.Message {
   761  	mi := &file_channeld_proto_msgTypes[3]
   762  	if protoimpl.UnsafeEnabled && x != nil {
   763  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   764  		if ms.LoadMessageInfo() == nil {
   765  			ms.StoreMessageInfo(mi)
   766  		}
   767  		return ms
   768  	}
   769  	return mi.MessageOf(x)
   770  }
   771  
   772  // Deprecated: Use AuthMessage.ProtoReflect.Descriptor instead.
   773  func (*AuthMessage) Descriptor() ([]byte, []int) {
   774  	return file_channeld_proto_rawDescGZIP(), []int{3}
   775  }
   776  
   777  func (x *AuthMessage) GetPlayerIdentifierToken() string {
   778  	if x != nil {
   779  		return x.PlayerIdentifierToken
   780  	}
   781  	return ""
   782  }
   783  
   784  func (x *AuthMessage) GetLoginToken() string {
   785  	if x != nil {
   786  		return x.LoginToken
   787  	}
   788  	return ""
   789  }
   790  
   791  type AuthResultMessage struct {
   792  	state         protoimpl.MessageState
   793  	sizeCache     protoimpl.SizeCache
   794  	unknownFields protoimpl.UnknownFields
   795  
   796  	Result AuthResultMessage_AuthResult `protobuf:"varint,1,opt,name=result,proto3,enum=channeldpb.AuthResultMessage_AuthResult" json:"result,omitempty"`
   797  	ConnId uint32                       `protobuf:"varint,2,opt,name=connId,proto3" json:"connId,omitempty"`
   798  	// The compression type should be used for future communication.
   799  	// However, because the compression type is specified per packet, the client has its freedom to control which compression type to use.
   800  	// It's useful when the client has too much CPU load for the compression, or the network debug is needed.
   801  	CompressionType CompressionType `protobuf:"varint,3,opt,name=compressionType,proto3,enum=channeldpb.CompressionType" json:"compressionType,omitempty"`
   802  }
   803  
   804  func (x *AuthResultMessage) Reset() {
   805  	*x = AuthResultMessage{}
   806  	if protoimpl.UnsafeEnabled {
   807  		mi := &file_channeld_proto_msgTypes[4]
   808  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   809  		ms.StoreMessageInfo(mi)
   810  	}
   811  }
   812  
   813  func (x *AuthResultMessage) String() string {
   814  	return protoimpl.X.MessageStringOf(x)
   815  }
   816  
   817  func (*AuthResultMessage) ProtoMessage() {}
   818  
   819  func (x *AuthResultMessage) ProtoReflect() protoreflect.Message {
   820  	mi := &file_channeld_proto_msgTypes[4]
   821  	if protoimpl.UnsafeEnabled && x != nil {
   822  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   823  		if ms.LoadMessageInfo() == nil {
   824  			ms.StoreMessageInfo(mi)
   825  		}
   826  		return ms
   827  	}
   828  	return mi.MessageOf(x)
   829  }
   830  
   831  // Deprecated: Use AuthResultMessage.ProtoReflect.Descriptor instead.
   832  func (*AuthResultMessage) Descriptor() ([]byte, []int) {
   833  	return file_channeld_proto_rawDescGZIP(), []int{4}
   834  }
   835  
   836  func (x *AuthResultMessage) GetResult() AuthResultMessage_AuthResult {
   837  	if x != nil {
   838  		return x.Result
   839  	}
   840  	return AuthResultMessage_SUCCESSFUL
   841  }
   842  
   843  func (x *AuthResultMessage) GetConnId() uint32 {
   844  	if x != nil {
   845  		return x.ConnId
   846  	}
   847  	return 0
   848  }
   849  
   850  func (x *AuthResultMessage) GetCompressionType() CompressionType {
   851  	if x != nil {
   852  		return x.CompressionType
   853  	}
   854  	return CompressionType_NO_COMPRESSION
   855  }
   856  
   857  type ChannelSubscriptionOptions struct {
   858  	state         protoimpl.MessageState
   859  	sizeCache     protoimpl.SizeCache
   860  	unknownFields protoimpl.UnknownFields
   861  
   862  	// Should the subscriber be able to update the channel data?
   863  	// Use enum over bool as in Protobuf, after setting a bool field to true, merging it with false won't work!
   864  	DataAccess *ChannelDataAccess `protobuf:"varint,1,opt,name=dataAccess,proto3,enum=channeldpb.ChannelDataAccess,oneof" json:"dataAccess,omitempty"`
   865  	// How the fields are filtered before sending to the subscriber.
   866  	// For detailed usage, see https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/field-mask.
   867  	DataFieldMasks []string `protobuf:"bytes,2,rep,name=dataFieldMasks,proto3" json:"dataFieldMasks,omitempty"`
   868  	// How frequent the updated channel data will be fanned-out to the subscriber, in millisecond.
   869  	// For an MMORPG-style server/client, the value should be between 50-100, while an FPS-style game, the value should be between 10-30.
   870  	FanOutIntervalMs *uint32 `protobuf:"varint,3,opt,name=fanOutIntervalMs,proto3,oneof" json:"fanOutIntervalMs,omitempty"`
   871  	// How long between the subscription and the first (and full-state) ChannelDataUpdateMessage being send to the subscriber, in millisecond.
   872  	// To be accurate, the first fan-out time will be (sub time + fan-out delay). It's possible to set the delay to a negative value to makee the first fan-out happen earlier.
   873  	// Fan-out delay is useful when the clients need spawn message (sent from the backend server) to be handled, before handling the ChannelDataUpdateMessage properly.
   874  	// In Mirror, it can take up to 100ms to wait.
   875  	FanOutDelayMs *int32 `protobuf:"varint,4,opt,name=fanOutDelayMs,proto3,oneof" json:"fanOutDelayMs,omitempty"`
   876  	// Whether the subscriber should skip the fan-out of its own ChannelDataUpdate. Default is true.
   877  	SkipSelfUpdateFanOut *bool `protobuf:"varint,5,opt,name=skipSelfUpdateFanOut,proto3,oneof" json:"skipSelfUpdateFanOut,omitempty"`
   878  	// Whether the subscriber should skip the first fan-out that contains the full states. Default is false.
   879  	SkipFirstFanOut *bool `protobuf:"varint,6,opt,name=skipFirstFanOut,proto3,oneof" json:"skipFirstFanOut,omitempty"`
   880  }
   881  
   882  func (x *ChannelSubscriptionOptions) Reset() {
   883  	*x = ChannelSubscriptionOptions{}
   884  	if protoimpl.UnsafeEnabled {
   885  		mi := &file_channeld_proto_msgTypes[5]
   886  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   887  		ms.StoreMessageInfo(mi)
   888  	}
   889  }
   890  
   891  func (x *ChannelSubscriptionOptions) String() string {
   892  	return protoimpl.X.MessageStringOf(x)
   893  }
   894  
   895  func (*ChannelSubscriptionOptions) ProtoMessage() {}
   896  
   897  func (x *ChannelSubscriptionOptions) ProtoReflect() protoreflect.Message {
   898  	mi := &file_channeld_proto_msgTypes[5]
   899  	if protoimpl.UnsafeEnabled && x != nil {
   900  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   901  		if ms.LoadMessageInfo() == nil {
   902  			ms.StoreMessageInfo(mi)
   903  		}
   904  		return ms
   905  	}
   906  	return mi.MessageOf(x)
   907  }
   908  
   909  // Deprecated: Use ChannelSubscriptionOptions.ProtoReflect.Descriptor instead.
   910  func (*ChannelSubscriptionOptions) Descriptor() ([]byte, []int) {
   911  	return file_channeld_proto_rawDescGZIP(), []int{5}
   912  }
   913  
   914  func (x *ChannelSubscriptionOptions) GetDataAccess() ChannelDataAccess {
   915  	if x != nil && x.DataAccess != nil {
   916  		return *x.DataAccess
   917  	}
   918  	return ChannelDataAccess_NO_ACCESS
   919  }
   920  
   921  func (x *ChannelSubscriptionOptions) GetDataFieldMasks() []string {
   922  	if x != nil {
   923  		return x.DataFieldMasks
   924  	}
   925  	return nil
   926  }
   927  
   928  func (x *ChannelSubscriptionOptions) GetFanOutIntervalMs() uint32 {
   929  	if x != nil && x.FanOutIntervalMs != nil {
   930  		return *x.FanOutIntervalMs
   931  	}
   932  	return 0
   933  }
   934  
   935  func (x *ChannelSubscriptionOptions) GetFanOutDelayMs() int32 {
   936  	if x != nil && x.FanOutDelayMs != nil {
   937  		return *x.FanOutDelayMs
   938  	}
   939  	return 0
   940  }
   941  
   942  func (x *ChannelSubscriptionOptions) GetSkipSelfUpdateFanOut() bool {
   943  	if x != nil && x.SkipSelfUpdateFanOut != nil {
   944  		return *x.SkipSelfUpdateFanOut
   945  	}
   946  	return false
   947  }
   948  
   949  func (x *ChannelSubscriptionOptions) GetSkipFirstFanOut() bool {
   950  	if x != nil && x.SkipFirstFanOut != nil {
   951  		return *x.SkipFirstFanOut
   952  	}
   953  	return false
   954  }
   955  
   956  // Defines how two @ChannelDataUpdateMessage.data are merged.
   957  // The custom merge function should always be implemented for the sake of performance. Otherwise,
   958  // the default merge that based on Protobuf's reflection will be used, and it's >10 times slower.
   959  type ChannelDataMergeOptions struct {
   960  	state         protoimpl.MessageState
   961  	sizeCache     protoimpl.SizeCache
   962  	unknownFields protoimpl.UnknownFields
   963  
   964  	// By default, Protobuf appends the src list to the dst list. Setting this option to true will replace the dst list with the src list.
   965  	ShouldReplaceList bool `protobuf:"varint,1,opt,name=shouldReplaceList,proto3" json:"shouldReplaceList,omitempty"`
   966  	// If the value is greater than 0, truncate the the list when oversized.
   967  	ListSizeLimit uint32 `protobuf:"varint,2,opt,name=listSizeLimit,proto3" json:"listSizeLimit,omitempty"`
   968  	// If true, the top elements of the list will be truncated instead of the end. It's useful for scenarios like chat message list.
   969  	TruncateTop bool `protobuf:"varint,3,opt,name=truncateTop,proto3" json:"truncateTop,omitempty"`
   970  	// If true, the merge method will remove any map entry that has removed=true in its value.
   971  	ShouldCheckRemovableMapField bool `protobuf:"varint,4,opt,name=shouldCheckRemovableMapField,proto3" json:"shouldCheckRemovableMapField,omitempty"`
   972  }
   973  
   974  func (x *ChannelDataMergeOptions) Reset() {
   975  	*x = ChannelDataMergeOptions{}
   976  	if protoimpl.UnsafeEnabled {
   977  		mi := &file_channeld_proto_msgTypes[6]
   978  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   979  		ms.StoreMessageInfo(mi)
   980  	}
   981  }
   982  
   983  func (x *ChannelDataMergeOptions) String() string {
   984  	return protoimpl.X.MessageStringOf(x)
   985  }
   986  
   987  func (*ChannelDataMergeOptions) ProtoMessage() {}
   988  
   989  func (x *ChannelDataMergeOptions) ProtoReflect() protoreflect.Message {
   990  	mi := &file_channeld_proto_msgTypes[6]
   991  	if protoimpl.UnsafeEnabled && x != nil {
   992  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   993  		if ms.LoadMessageInfo() == nil {
   994  			ms.StoreMessageInfo(mi)
   995  		}
   996  		return ms
   997  	}
   998  	return mi.MessageOf(x)
   999  }
  1000  
  1001  // Deprecated: Use ChannelDataMergeOptions.ProtoReflect.Descriptor instead.
  1002  func (*ChannelDataMergeOptions) Descriptor() ([]byte, []int) {
  1003  	return file_channeld_proto_rawDescGZIP(), []int{6}
  1004  }
  1005  
  1006  func (x *ChannelDataMergeOptions) GetShouldReplaceList() bool {
  1007  	if x != nil {
  1008  		return x.ShouldReplaceList
  1009  	}
  1010  	return false
  1011  }
  1012  
  1013  func (x *ChannelDataMergeOptions) GetListSizeLimit() uint32 {
  1014  	if x != nil {
  1015  		return x.ListSizeLimit
  1016  	}
  1017  	return 0
  1018  }
  1019  
  1020  func (x *ChannelDataMergeOptions) GetTruncateTop() bool {
  1021  	if x != nil {
  1022  		return x.TruncateTop
  1023  	}
  1024  	return false
  1025  }
  1026  
  1027  func (x *ChannelDataMergeOptions) GetShouldCheckRemovableMapField() bool {
  1028  	if x != nil {
  1029  		return x.ShouldCheckRemovableMapField
  1030  	}
  1031  	return false
  1032  }
  1033  
  1034  // The message should have channelId = 0 in order to be handled.
  1035  // Response: @CreateChannelResultMessage, if the MessageType is CREATE_CHANNEL and the channelType is not SPATIAL. The GLOBAL channel owner will also receive this message.
  1036  // Response: @CreateSpatialChannelsResultMessage, if the MessageType is CREATE_SPATIAL_CHANNEL and the channelType is SPATIAL. The GLOBAL channel owner will also receive this message.
  1037  // Response: @SubscribedToChannelResultMessage. The channel creator will also be subscribed to the channel immediately after the creation.
  1038  type CreateChannelMessage struct {
  1039  	state         protoimpl.MessageState
  1040  	sizeCache     protoimpl.SizeCache
  1041  	unknownFields protoimpl.UnknownFields
  1042  
  1043  	ChannelType  ChannelType                 `protobuf:"varint,1,opt,name=channelType,proto3,enum=channeldpb.ChannelType" json:"channelType,omitempty"`
  1044  	Metadata     string                      `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1045  	SubOptions   *ChannelSubscriptionOptions `protobuf:"bytes,3,opt,name=subOptions,proto3" json:"subOptions,omitempty"`
  1046  	Data         *anypb.Any                  `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
  1047  	MergeOptions *ChannelDataMergeOptions    `protobuf:"bytes,5,opt,name=mergeOptions,proto3" json:"mergeOptions,omitempty"`
  1048  }
  1049  
  1050  func (x *CreateChannelMessage) Reset() {
  1051  	*x = CreateChannelMessage{}
  1052  	if protoimpl.UnsafeEnabled {
  1053  		mi := &file_channeld_proto_msgTypes[7]
  1054  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1055  		ms.StoreMessageInfo(mi)
  1056  	}
  1057  }
  1058  
  1059  func (x *CreateChannelMessage) String() string {
  1060  	return protoimpl.X.MessageStringOf(x)
  1061  }
  1062  
  1063  func (*CreateChannelMessage) ProtoMessage() {}
  1064  
  1065  func (x *CreateChannelMessage) ProtoReflect() protoreflect.Message {
  1066  	mi := &file_channeld_proto_msgTypes[7]
  1067  	if protoimpl.UnsafeEnabled && x != nil {
  1068  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1069  		if ms.LoadMessageInfo() == nil {
  1070  			ms.StoreMessageInfo(mi)
  1071  		}
  1072  		return ms
  1073  	}
  1074  	return mi.MessageOf(x)
  1075  }
  1076  
  1077  // Deprecated: Use CreateChannelMessage.ProtoReflect.Descriptor instead.
  1078  func (*CreateChannelMessage) Descriptor() ([]byte, []int) {
  1079  	return file_channeld_proto_rawDescGZIP(), []int{7}
  1080  }
  1081  
  1082  func (x *CreateChannelMessage) GetChannelType() ChannelType {
  1083  	if x != nil {
  1084  		return x.ChannelType
  1085  	}
  1086  	return ChannelType_UNKNOWN
  1087  }
  1088  
  1089  func (x *CreateChannelMessage) GetMetadata() string {
  1090  	if x != nil {
  1091  		return x.Metadata
  1092  	}
  1093  	return ""
  1094  }
  1095  
  1096  func (x *CreateChannelMessage) GetSubOptions() *ChannelSubscriptionOptions {
  1097  	if x != nil {
  1098  		return x.SubOptions
  1099  	}
  1100  	return nil
  1101  }
  1102  
  1103  func (x *CreateChannelMessage) GetData() *anypb.Any {
  1104  	if x != nil {
  1105  		return x.Data
  1106  	}
  1107  	return nil
  1108  }
  1109  
  1110  func (x *CreateChannelMessage) GetMergeOptions() *ChannelDataMergeOptions {
  1111  	if x != nil {
  1112  		return x.MergeOptions
  1113  	}
  1114  	return nil
  1115  }
  1116  
  1117  type CreateChannelResultMessage struct {
  1118  	state         protoimpl.MessageState
  1119  	sizeCache     protoimpl.SizeCache
  1120  	unknownFields protoimpl.UnknownFields
  1121  
  1122  	ChannelType ChannelType `protobuf:"varint,1,opt,name=channelType,proto3,enum=channeldpb.ChannelType" json:"channelType,omitempty"`
  1123  	Metadata    string      `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1124  	OwnerConnId uint32      `protobuf:"varint,3,opt,name=ownerConnId,proto3" json:"ownerConnId,omitempty"`
  1125  	// The ID of the newly-created channel. Add this field to differentiate it from MessagePack.channelId.
  1126  	ChannelId uint32 `protobuf:"varint,4,opt,name=channelId,proto3" json:"channelId,omitempty"`
  1127  }
  1128  
  1129  func (x *CreateChannelResultMessage) Reset() {
  1130  	*x = CreateChannelResultMessage{}
  1131  	if protoimpl.UnsafeEnabled {
  1132  		mi := &file_channeld_proto_msgTypes[8]
  1133  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1134  		ms.StoreMessageInfo(mi)
  1135  	}
  1136  }
  1137  
  1138  func (x *CreateChannelResultMessage) String() string {
  1139  	return protoimpl.X.MessageStringOf(x)
  1140  }
  1141  
  1142  func (*CreateChannelResultMessage) ProtoMessage() {}
  1143  
  1144  func (x *CreateChannelResultMessage) ProtoReflect() protoreflect.Message {
  1145  	mi := &file_channeld_proto_msgTypes[8]
  1146  	if protoimpl.UnsafeEnabled && x != nil {
  1147  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1148  		if ms.LoadMessageInfo() == nil {
  1149  			ms.StoreMessageInfo(mi)
  1150  		}
  1151  		return ms
  1152  	}
  1153  	return mi.MessageOf(x)
  1154  }
  1155  
  1156  // Deprecated: Use CreateChannelResultMessage.ProtoReflect.Descriptor instead.
  1157  func (*CreateChannelResultMessage) Descriptor() ([]byte, []int) {
  1158  	return file_channeld_proto_rawDescGZIP(), []int{8}
  1159  }
  1160  
  1161  func (x *CreateChannelResultMessage) GetChannelType() ChannelType {
  1162  	if x != nil {
  1163  		return x.ChannelType
  1164  	}
  1165  	return ChannelType_UNKNOWN
  1166  }
  1167  
  1168  func (x *CreateChannelResultMessage) GetMetadata() string {
  1169  	if x != nil {
  1170  		return x.Metadata
  1171  	}
  1172  	return ""
  1173  }
  1174  
  1175  func (x *CreateChannelResultMessage) GetOwnerConnId() uint32 {
  1176  	if x != nil {
  1177  		return x.OwnerConnId
  1178  	}
  1179  	return 0
  1180  }
  1181  
  1182  func (x *CreateChannelResultMessage) GetChannelId() uint32 {
  1183  	if x != nil {
  1184  		return x.ChannelId
  1185  	}
  1186  	return 0
  1187  }
  1188  
  1189  // The message should have channelId = 0 in order to be handled.
  1190  // Response: all connections in the channel will receive @RemoveChannelMessage. The GLOBAL channel owner will also receive this message.
  1191  type RemoveChannelMessage struct {
  1192  	state         protoimpl.MessageState
  1193  	sizeCache     protoimpl.SizeCache
  1194  	unknownFields protoimpl.UnknownFields
  1195  
  1196  	ChannelId uint32 `protobuf:"varint,1,opt,name=channelId,proto3" json:"channelId,omitempty"`
  1197  }
  1198  
  1199  func (x *RemoveChannelMessage) Reset() {
  1200  	*x = RemoveChannelMessage{}
  1201  	if protoimpl.UnsafeEnabled {
  1202  		mi := &file_channeld_proto_msgTypes[9]
  1203  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1204  		ms.StoreMessageInfo(mi)
  1205  	}
  1206  }
  1207  
  1208  func (x *RemoveChannelMessage) String() string {
  1209  	return protoimpl.X.MessageStringOf(x)
  1210  }
  1211  
  1212  func (*RemoveChannelMessage) ProtoMessage() {}
  1213  
  1214  func (x *RemoveChannelMessage) ProtoReflect() protoreflect.Message {
  1215  	mi := &file_channeld_proto_msgTypes[9]
  1216  	if protoimpl.UnsafeEnabled && x != nil {
  1217  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1218  		if ms.LoadMessageInfo() == nil {
  1219  			ms.StoreMessageInfo(mi)
  1220  		}
  1221  		return ms
  1222  	}
  1223  	return mi.MessageOf(x)
  1224  }
  1225  
  1226  // Deprecated: Use RemoveChannelMessage.ProtoReflect.Descriptor instead.
  1227  func (*RemoveChannelMessage) Descriptor() ([]byte, []int) {
  1228  	return file_channeld_proto_rawDescGZIP(), []int{9}
  1229  }
  1230  
  1231  func (x *RemoveChannelMessage) GetChannelId() uint32 {
  1232  	if x != nil {
  1233  		return x.ChannelId
  1234  	}
  1235  	return 0
  1236  }
  1237  
  1238  // The message should have channelId = 0 in order to be handled.
  1239  // Response: @ListChannelResultMessage
  1240  type ListChannelMessage struct {
  1241  	state         protoimpl.MessageState
  1242  	sizeCache     protoimpl.SizeCache
  1243  	unknownFields protoimpl.UnknownFields
  1244  
  1245  	TypeFilter      ChannelType `protobuf:"varint,1,opt,name=typeFilter,proto3,enum=channeldpb.ChannelType" json:"typeFilter,omitempty"`
  1246  	MetadataFilters []string    `protobuf:"bytes,2,rep,name=metadataFilters,proto3" json:"metadataFilters,omitempty"`
  1247  }
  1248  
  1249  func (x *ListChannelMessage) Reset() {
  1250  	*x = ListChannelMessage{}
  1251  	if protoimpl.UnsafeEnabled {
  1252  		mi := &file_channeld_proto_msgTypes[10]
  1253  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1254  		ms.StoreMessageInfo(mi)
  1255  	}
  1256  }
  1257  
  1258  func (x *ListChannelMessage) String() string {
  1259  	return protoimpl.X.MessageStringOf(x)
  1260  }
  1261  
  1262  func (*ListChannelMessage) ProtoMessage() {}
  1263  
  1264  func (x *ListChannelMessage) ProtoReflect() protoreflect.Message {
  1265  	mi := &file_channeld_proto_msgTypes[10]
  1266  	if protoimpl.UnsafeEnabled && x != nil {
  1267  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1268  		if ms.LoadMessageInfo() == nil {
  1269  			ms.StoreMessageInfo(mi)
  1270  		}
  1271  		return ms
  1272  	}
  1273  	return mi.MessageOf(x)
  1274  }
  1275  
  1276  // Deprecated: Use ListChannelMessage.ProtoReflect.Descriptor instead.
  1277  func (*ListChannelMessage) Descriptor() ([]byte, []int) {
  1278  	return file_channeld_proto_rawDescGZIP(), []int{10}
  1279  }
  1280  
  1281  func (x *ListChannelMessage) GetTypeFilter() ChannelType {
  1282  	if x != nil {
  1283  		return x.TypeFilter
  1284  	}
  1285  	return ChannelType_UNKNOWN
  1286  }
  1287  
  1288  func (x *ListChannelMessage) GetMetadataFilters() []string {
  1289  	if x != nil {
  1290  		return x.MetadataFilters
  1291  	}
  1292  	return nil
  1293  }
  1294  
  1295  type ListChannelResultMessage struct {
  1296  	state         protoimpl.MessageState
  1297  	sizeCache     protoimpl.SizeCache
  1298  	unknownFields protoimpl.UnknownFields
  1299  
  1300  	Channels []*ListChannelResultMessage_ChannelInfo `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"`
  1301  }
  1302  
  1303  func (x *ListChannelResultMessage) Reset() {
  1304  	*x = ListChannelResultMessage{}
  1305  	if protoimpl.UnsafeEnabled {
  1306  		mi := &file_channeld_proto_msgTypes[11]
  1307  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1308  		ms.StoreMessageInfo(mi)
  1309  	}
  1310  }
  1311  
  1312  func (x *ListChannelResultMessage) String() string {
  1313  	return protoimpl.X.MessageStringOf(x)
  1314  }
  1315  
  1316  func (*ListChannelResultMessage) ProtoMessage() {}
  1317  
  1318  func (x *ListChannelResultMessage) ProtoReflect() protoreflect.Message {
  1319  	mi := &file_channeld_proto_msgTypes[11]
  1320  	if protoimpl.UnsafeEnabled && x != nil {
  1321  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1322  		if ms.LoadMessageInfo() == nil {
  1323  			ms.StoreMessageInfo(mi)
  1324  		}
  1325  		return ms
  1326  	}
  1327  	return mi.MessageOf(x)
  1328  }
  1329  
  1330  // Deprecated: Use ListChannelResultMessage.ProtoReflect.Descriptor instead.
  1331  func (*ListChannelResultMessage) Descriptor() ([]byte, []int) {
  1332  	return file_channeld_proto_rawDescGZIP(), []int{11}
  1333  }
  1334  
  1335  func (x *ListChannelResultMessage) GetChannels() []*ListChannelResultMessage_ChannelInfo {
  1336  	if x != nil {
  1337  		return x.Channels
  1338  	}
  1339  	return nil
  1340  }
  1341  
  1342  // Response: @SubscribedToChannelResultMessage. The message sender, the subscribed connection (if not the sender), and the channel owner will receive the message respectively.
  1343  // If the connection has already been subscripbed to the channel, the subOptions will be merged, but no response message will be sent.
  1344  type SubscribedToChannelMessage struct {
  1345  	state         protoimpl.MessageState
  1346  	sizeCache     protoimpl.SizeCache
  1347  	unknownFields protoimpl.UnknownFields
  1348  
  1349  	// The connection to be added to the channel is not necessarily the one sends the message.
  1350  	// Remarks: only the channel owner or the GLOBAL channel owner can sub another connection to the channel.
  1351  	ConnId     uint32                      `protobuf:"varint,1,opt,name=connId,proto3" json:"connId,omitempty"`
  1352  	SubOptions *ChannelSubscriptionOptions `protobuf:"bytes,2,opt,name=subOptions,proto3" json:"subOptions,omitempty"`
  1353  }
  1354  
  1355  func (x *SubscribedToChannelMessage) Reset() {
  1356  	*x = SubscribedToChannelMessage{}
  1357  	if protoimpl.UnsafeEnabled {
  1358  		mi := &file_channeld_proto_msgTypes[12]
  1359  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1360  		ms.StoreMessageInfo(mi)
  1361  	}
  1362  }
  1363  
  1364  func (x *SubscribedToChannelMessage) String() string {
  1365  	return protoimpl.X.MessageStringOf(x)
  1366  }
  1367  
  1368  func (*SubscribedToChannelMessage) ProtoMessage() {}
  1369  
  1370  func (x *SubscribedToChannelMessage) ProtoReflect() protoreflect.Message {
  1371  	mi := &file_channeld_proto_msgTypes[12]
  1372  	if protoimpl.UnsafeEnabled && x != nil {
  1373  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1374  		if ms.LoadMessageInfo() == nil {
  1375  			ms.StoreMessageInfo(mi)
  1376  		}
  1377  		return ms
  1378  	}
  1379  	return mi.MessageOf(x)
  1380  }
  1381  
  1382  // Deprecated: Use SubscribedToChannelMessage.ProtoReflect.Descriptor instead.
  1383  func (*SubscribedToChannelMessage) Descriptor() ([]byte, []int) {
  1384  	return file_channeld_proto_rawDescGZIP(), []int{12}
  1385  }
  1386  
  1387  func (x *SubscribedToChannelMessage) GetConnId() uint32 {
  1388  	if x != nil {
  1389  		return x.ConnId
  1390  	}
  1391  	return 0
  1392  }
  1393  
  1394  func (x *SubscribedToChannelMessage) GetSubOptions() *ChannelSubscriptionOptions {
  1395  	if x != nil {
  1396  		return x.SubOptions
  1397  	}
  1398  	return nil
  1399  }
  1400  
  1401  type SubscribedToChannelResultMessage struct {
  1402  	state         protoimpl.MessageState
  1403  	sizeCache     protoimpl.SizeCache
  1404  	unknownFields protoimpl.UnknownFields
  1405  
  1406  	// The connection that subscribed.
  1407  	ConnId      uint32                      `protobuf:"varint,1,opt,name=connId,proto3" json:"connId,omitempty"`
  1408  	SubOptions  *ChannelSubscriptionOptions `protobuf:"bytes,2,opt,name=subOptions,proto3" json:"subOptions,omitempty"`
  1409  	ConnType    ConnectionType              `protobuf:"varint,3,opt,name=connType,proto3,enum=channeldpb.ConnectionType" json:"connType,omitempty"`
  1410  	ChannelType ChannelType                 `protobuf:"varint,4,opt,name=channelType,proto3,enum=channeldpb.ChannelType" json:"channelType,omitempty"`
  1411  }
  1412  
  1413  func (x *SubscribedToChannelResultMessage) Reset() {
  1414  	*x = SubscribedToChannelResultMessage{}
  1415  	if protoimpl.UnsafeEnabled {
  1416  		mi := &file_channeld_proto_msgTypes[13]
  1417  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1418  		ms.StoreMessageInfo(mi)
  1419  	}
  1420  }
  1421  
  1422  func (x *SubscribedToChannelResultMessage) String() string {
  1423  	return protoimpl.X.MessageStringOf(x)
  1424  }
  1425  
  1426  func (*SubscribedToChannelResultMessage) ProtoMessage() {}
  1427  
  1428  func (x *SubscribedToChannelResultMessage) ProtoReflect() protoreflect.Message {
  1429  	mi := &file_channeld_proto_msgTypes[13]
  1430  	if protoimpl.UnsafeEnabled && x != nil {
  1431  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1432  		if ms.LoadMessageInfo() == nil {
  1433  			ms.StoreMessageInfo(mi)
  1434  		}
  1435  		return ms
  1436  	}
  1437  	return mi.MessageOf(x)
  1438  }
  1439  
  1440  // Deprecated: Use SubscribedToChannelResultMessage.ProtoReflect.Descriptor instead.
  1441  func (*SubscribedToChannelResultMessage) Descriptor() ([]byte, []int) {
  1442  	return file_channeld_proto_rawDescGZIP(), []int{13}
  1443  }
  1444  
  1445  func (x *SubscribedToChannelResultMessage) GetConnId() uint32 {
  1446  	if x != nil {
  1447  		return x.ConnId
  1448  	}
  1449  	return 0
  1450  }
  1451  
  1452  func (x *SubscribedToChannelResultMessage) GetSubOptions() *ChannelSubscriptionOptions {
  1453  	if x != nil {
  1454  		return x.SubOptions
  1455  	}
  1456  	return nil
  1457  }
  1458  
  1459  func (x *SubscribedToChannelResultMessage) GetConnType() ConnectionType {
  1460  	if x != nil {
  1461  		return x.ConnType
  1462  	}
  1463  	return ConnectionType_NO_CONNECTION
  1464  }
  1465  
  1466  func (x *SubscribedToChannelResultMessage) GetChannelType() ChannelType {
  1467  	if x != nil {
  1468  		return x.ChannelType
  1469  	}
  1470  	return ChannelType_UNKNOWN
  1471  }
  1472  
  1473  // Response: @UnsubscribedFromChannelResultMessage. The message sender, the connection that unsubscribed, and the channel owner will receive the message respectively.
  1474  type UnsubscribedFromChannelMessage struct {
  1475  	state         protoimpl.MessageState
  1476  	sizeCache     protoimpl.SizeCache
  1477  	unknownFields protoimpl.UnknownFields
  1478  
  1479  	// The connection to be removed from the channel is not necessarily the one sends the message.
  1480  	// Remarks: only the channel owner or the GLOBAL channel can unsub another connection from the channel.
  1481  	ConnId uint32 `protobuf:"varint,1,opt,name=connId,proto3" json:"connId,omitempty"`
  1482  }
  1483  
  1484  func (x *UnsubscribedFromChannelMessage) Reset() {
  1485  	*x = UnsubscribedFromChannelMessage{}
  1486  	if protoimpl.UnsafeEnabled {
  1487  		mi := &file_channeld_proto_msgTypes[14]
  1488  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1489  		ms.StoreMessageInfo(mi)
  1490  	}
  1491  }
  1492  
  1493  func (x *UnsubscribedFromChannelMessage) String() string {
  1494  	return protoimpl.X.MessageStringOf(x)
  1495  }
  1496  
  1497  func (*UnsubscribedFromChannelMessage) ProtoMessage() {}
  1498  
  1499  func (x *UnsubscribedFromChannelMessage) ProtoReflect() protoreflect.Message {
  1500  	mi := &file_channeld_proto_msgTypes[14]
  1501  	if protoimpl.UnsafeEnabled && x != nil {
  1502  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1503  		if ms.LoadMessageInfo() == nil {
  1504  			ms.StoreMessageInfo(mi)
  1505  		}
  1506  		return ms
  1507  	}
  1508  	return mi.MessageOf(x)
  1509  }
  1510  
  1511  // Deprecated: Use UnsubscribedFromChannelMessage.ProtoReflect.Descriptor instead.
  1512  func (*UnsubscribedFromChannelMessage) Descriptor() ([]byte, []int) {
  1513  	return file_channeld_proto_rawDescGZIP(), []int{14}
  1514  }
  1515  
  1516  func (x *UnsubscribedFromChannelMessage) GetConnId() uint32 {
  1517  	if x != nil {
  1518  		return x.ConnId
  1519  	}
  1520  	return 0
  1521  }
  1522  
  1523  type UnsubscribedFromChannelResultMessage struct {
  1524  	state         protoimpl.MessageState
  1525  	sizeCache     protoimpl.SizeCache
  1526  	unknownFields protoimpl.UnknownFields
  1527  
  1528  	// The connection that unsubsribed.
  1529  	ConnId      uint32         `protobuf:"varint,1,opt,name=connId,proto3" json:"connId,omitempty"`
  1530  	ConnType    ConnectionType `protobuf:"varint,2,opt,name=connType,proto3,enum=channeldpb.ConnectionType" json:"connType,omitempty"`
  1531  	ChannelType ChannelType    `protobuf:"varint,3,opt,name=channelType,proto3,enum=channeldpb.ChannelType" json:"channelType,omitempty"`
  1532  }
  1533  
  1534  func (x *UnsubscribedFromChannelResultMessage) Reset() {
  1535  	*x = UnsubscribedFromChannelResultMessage{}
  1536  	if protoimpl.UnsafeEnabled {
  1537  		mi := &file_channeld_proto_msgTypes[15]
  1538  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1539  		ms.StoreMessageInfo(mi)
  1540  	}
  1541  }
  1542  
  1543  func (x *UnsubscribedFromChannelResultMessage) String() string {
  1544  	return protoimpl.X.MessageStringOf(x)
  1545  }
  1546  
  1547  func (*UnsubscribedFromChannelResultMessage) ProtoMessage() {}
  1548  
  1549  func (x *UnsubscribedFromChannelResultMessage) ProtoReflect() protoreflect.Message {
  1550  	mi := &file_channeld_proto_msgTypes[15]
  1551  	if protoimpl.UnsafeEnabled && x != nil {
  1552  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1553  		if ms.LoadMessageInfo() == nil {
  1554  			ms.StoreMessageInfo(mi)
  1555  		}
  1556  		return ms
  1557  	}
  1558  	return mi.MessageOf(x)
  1559  }
  1560  
  1561  // Deprecated: Use UnsubscribedFromChannelResultMessage.ProtoReflect.Descriptor instead.
  1562  func (*UnsubscribedFromChannelResultMessage) Descriptor() ([]byte, []int) {
  1563  	return file_channeld_proto_rawDescGZIP(), []int{15}
  1564  }
  1565  
  1566  func (x *UnsubscribedFromChannelResultMessage) GetConnId() uint32 {
  1567  	if x != nil {
  1568  		return x.ConnId
  1569  	}
  1570  	return 0
  1571  }
  1572  
  1573  func (x *UnsubscribedFromChannelResultMessage) GetConnType() ConnectionType {
  1574  	if x != nil {
  1575  		return x.ConnType
  1576  	}
  1577  	return ConnectionType_NO_CONNECTION
  1578  }
  1579  
  1580  func (x *UnsubscribedFromChannelResultMessage) GetChannelType() ChannelType {
  1581  	if x != nil {
  1582  		return x.ChannelType
  1583  	}
  1584  	return ChannelType_UNKNOWN
  1585  }
  1586  
  1587  // Response: no. Each connection in the channel receives the @ChannelDataUpdateMessage in every @ChannelSubscriptionOptions.FanOutIntervalMs
  1588  type ChannelDataUpdateMessage struct {
  1589  	state         protoimpl.MessageState
  1590  	sizeCache     protoimpl.SizeCache
  1591  	unknownFields protoimpl.UnknownFields
  1592  
  1593  	Data *anypb.Any `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
  1594  	// The ID of the connection that causes the update of the channel data.
  1595  	// In a server-authoratative system (which means the @ChannelDataUpdateMessage will only be sent by server), the servers need to send this field to channeld.
  1596  	// If the sender is a client, this field will be ignored.
  1597  	ContextConnId uint32 `protobuf:"varint,2,opt,name=contextConnId,proto3" json:"contextConnId,omitempty"`
  1598  }
  1599  
  1600  func (x *ChannelDataUpdateMessage) Reset() {
  1601  	*x = ChannelDataUpdateMessage{}
  1602  	if protoimpl.UnsafeEnabled {
  1603  		mi := &file_channeld_proto_msgTypes[16]
  1604  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1605  		ms.StoreMessageInfo(mi)
  1606  	}
  1607  }
  1608  
  1609  func (x *ChannelDataUpdateMessage) String() string {
  1610  	return protoimpl.X.MessageStringOf(x)
  1611  }
  1612  
  1613  func (*ChannelDataUpdateMessage) ProtoMessage() {}
  1614  
  1615  func (x *ChannelDataUpdateMessage) ProtoReflect() protoreflect.Message {
  1616  	mi := &file_channeld_proto_msgTypes[16]
  1617  	if protoimpl.UnsafeEnabled && x != nil {
  1618  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1619  		if ms.LoadMessageInfo() == nil {
  1620  			ms.StoreMessageInfo(mi)
  1621  		}
  1622  		return ms
  1623  	}
  1624  	return mi.MessageOf(x)
  1625  }
  1626  
  1627  // Deprecated: Use ChannelDataUpdateMessage.ProtoReflect.Descriptor instead.
  1628  func (*ChannelDataUpdateMessage) Descriptor() ([]byte, []int) {
  1629  	return file_channeld_proto_rawDescGZIP(), []int{16}
  1630  }
  1631  
  1632  func (x *ChannelDataUpdateMessage) GetData() *anypb.Any {
  1633  	if x != nil {
  1634  		return x.Data
  1635  	}
  1636  	return nil
  1637  }
  1638  
  1639  func (x *ChannelDataUpdateMessage) GetContextConnId() uint32 {
  1640  	if x != nil {
  1641  		return x.ContextConnId
  1642  	}
  1643  	return 0
  1644  }
  1645  
  1646  // Disconnect another connection from channeld.
  1647  // This message should only be sent by the server connection in a server-authoratative environment.
  1648  // The message should have channelId = 0 in order to be handled.
  1649  // Response: no.
  1650  type DisconnectMessage struct {
  1651  	state         protoimpl.MessageState
  1652  	sizeCache     protoimpl.SizeCache
  1653  	unknownFields protoimpl.UnknownFields
  1654  
  1655  	ConnId uint32 `protobuf:"varint,1,opt,name=connId,proto3" json:"connId,omitempty"`
  1656  }
  1657  
  1658  func (x *DisconnectMessage) Reset() {
  1659  	*x = DisconnectMessage{}
  1660  	if protoimpl.UnsafeEnabled {
  1661  		mi := &file_channeld_proto_msgTypes[17]
  1662  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1663  		ms.StoreMessageInfo(mi)
  1664  	}
  1665  }
  1666  
  1667  func (x *DisconnectMessage) String() string {
  1668  	return protoimpl.X.MessageStringOf(x)
  1669  }
  1670  
  1671  func (*DisconnectMessage) ProtoMessage() {}
  1672  
  1673  func (x *DisconnectMessage) ProtoReflect() protoreflect.Message {
  1674  	mi := &file_channeld_proto_msgTypes[17]
  1675  	if protoimpl.UnsafeEnabled && x != nil {
  1676  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1677  		if ms.LoadMessageInfo() == nil {
  1678  			ms.StoreMessageInfo(mi)
  1679  		}
  1680  		return ms
  1681  	}
  1682  	return mi.MessageOf(x)
  1683  }
  1684  
  1685  // Deprecated: Use DisconnectMessage.ProtoReflect.Descriptor instead.
  1686  func (*DisconnectMessage) Descriptor() ([]byte, []int) {
  1687  	return file_channeld_proto_rawDescGZIP(), []int{17}
  1688  }
  1689  
  1690  func (x *DisconnectMessage) GetConnId() uint32 {
  1691  	if x != nil {
  1692  		return x.ConnId
  1693  	}
  1694  	return 0
  1695  }
  1696  
  1697  // Left-handed coordinate system with Y-up rule.
  1698  type SpatialInfo struct {
  1699  	state         protoimpl.MessageState
  1700  	sizeCache     protoimpl.SizeCache
  1701  	unknownFields protoimpl.UnknownFields
  1702  
  1703  	X float64 `protobuf:"fixed64,1,opt,name=x,proto3" json:"x,omitempty"`
  1704  	Y float64 `protobuf:"fixed64,2,opt,name=y,proto3" json:"y,omitempty"`
  1705  	Z float64 `protobuf:"fixed64,3,opt,name=z,proto3" json:"z,omitempty"`
  1706  }
  1707  
  1708  func (x *SpatialInfo) Reset() {
  1709  	*x = SpatialInfo{}
  1710  	if protoimpl.UnsafeEnabled {
  1711  		mi := &file_channeld_proto_msgTypes[18]
  1712  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1713  		ms.StoreMessageInfo(mi)
  1714  	}
  1715  }
  1716  
  1717  func (x *SpatialInfo) String() string {
  1718  	return protoimpl.X.MessageStringOf(x)
  1719  }
  1720  
  1721  func (*SpatialInfo) ProtoMessage() {}
  1722  
  1723  func (x *SpatialInfo) ProtoReflect() protoreflect.Message {
  1724  	mi := &file_channeld_proto_msgTypes[18]
  1725  	if protoimpl.UnsafeEnabled && x != nil {
  1726  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1727  		if ms.LoadMessageInfo() == nil {
  1728  			ms.StoreMessageInfo(mi)
  1729  		}
  1730  		return ms
  1731  	}
  1732  	return mi.MessageOf(x)
  1733  }
  1734  
  1735  // Deprecated: Use SpatialInfo.ProtoReflect.Descriptor instead.
  1736  func (*SpatialInfo) Descriptor() ([]byte, []int) {
  1737  	return file_channeld_proto_rawDescGZIP(), []int{18}
  1738  }
  1739  
  1740  func (x *SpatialInfo) GetX() float64 {
  1741  	if x != nil {
  1742  		return x.X
  1743  	}
  1744  	return 0
  1745  }
  1746  
  1747  func (x *SpatialInfo) GetY() float64 {
  1748  	if x != nil {
  1749  		return x.Y
  1750  	}
  1751  	return 0
  1752  }
  1753  
  1754  func (x *SpatialInfo) GetZ() float64 {
  1755  	if x != nil {
  1756  		return x.Z
  1757  	}
  1758  	return 0
  1759  }
  1760  
  1761  type CreateSpatialChannelsResultMessage struct {
  1762  	state         protoimpl.MessageState
  1763  	sizeCache     protoimpl.SizeCache
  1764  	unknownFields protoimpl.UnknownFields
  1765  
  1766  	SpatialChannelId []uint32 `protobuf:"varint,1,rep,packed,name=spatialChannelId,proto3" json:"spatialChannelId,omitempty"`
  1767  	Metadata         string   `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1768  	OwnerConnId      uint32   `protobuf:"varint,3,opt,name=ownerConnId,proto3" json:"ownerConnId,omitempty"`
  1769  }
  1770  
  1771  func (x *CreateSpatialChannelsResultMessage) Reset() {
  1772  	*x = CreateSpatialChannelsResultMessage{}
  1773  	if protoimpl.UnsafeEnabled {
  1774  		mi := &file_channeld_proto_msgTypes[19]
  1775  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1776  		ms.StoreMessageInfo(mi)
  1777  	}
  1778  }
  1779  
  1780  func (x *CreateSpatialChannelsResultMessage) String() string {
  1781  	return protoimpl.X.MessageStringOf(x)
  1782  }
  1783  
  1784  func (*CreateSpatialChannelsResultMessage) ProtoMessage() {}
  1785  
  1786  func (x *CreateSpatialChannelsResultMessage) ProtoReflect() protoreflect.Message {
  1787  	mi := &file_channeld_proto_msgTypes[19]
  1788  	if protoimpl.UnsafeEnabled && x != nil {
  1789  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1790  		if ms.LoadMessageInfo() == nil {
  1791  			ms.StoreMessageInfo(mi)
  1792  		}
  1793  		return ms
  1794  	}
  1795  	return mi.MessageOf(x)
  1796  }
  1797  
  1798  // Deprecated: Use CreateSpatialChannelsResultMessage.ProtoReflect.Descriptor instead.
  1799  func (*CreateSpatialChannelsResultMessage) Descriptor() ([]byte, []int) {
  1800  	return file_channeld_proto_rawDescGZIP(), []int{19}
  1801  }
  1802  
  1803  func (x *CreateSpatialChannelsResultMessage) GetSpatialChannelId() []uint32 {
  1804  	if x != nil {
  1805  		return x.SpatialChannelId
  1806  	}
  1807  	return nil
  1808  }
  1809  
  1810  func (x *CreateSpatialChannelsResultMessage) GetMetadata() string {
  1811  	if x != nil {
  1812  		return x.Metadata
  1813  	}
  1814  	return ""
  1815  }
  1816  
  1817  func (x *CreateSpatialChannelsResultMessage) GetOwnerConnId() uint32 {
  1818  	if x != nil {
  1819  		return x.OwnerConnId
  1820  	}
  1821  	return 0
  1822  }
  1823  
  1824  // The message should have channelId = 0 in order to be handled.
  1825  // Response: @QuerySpatialChannelResultMessage
  1826  type QuerySpatialChannelMessage struct {
  1827  	state         protoimpl.MessageState
  1828  	sizeCache     protoimpl.SizeCache
  1829  	unknownFields protoimpl.UnknownFields
  1830  
  1831  	SpatialInfo []*SpatialInfo `protobuf:"bytes,1,rep,name=spatialInfo,proto3" json:"spatialInfo,omitempty"`
  1832  }
  1833  
  1834  func (x *QuerySpatialChannelMessage) Reset() {
  1835  	*x = QuerySpatialChannelMessage{}
  1836  	if protoimpl.UnsafeEnabled {
  1837  		mi := &file_channeld_proto_msgTypes[20]
  1838  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1839  		ms.StoreMessageInfo(mi)
  1840  	}
  1841  }
  1842  
  1843  func (x *QuerySpatialChannelMessage) String() string {
  1844  	return protoimpl.X.MessageStringOf(x)
  1845  }
  1846  
  1847  func (*QuerySpatialChannelMessage) ProtoMessage() {}
  1848  
  1849  func (x *QuerySpatialChannelMessage) ProtoReflect() protoreflect.Message {
  1850  	mi := &file_channeld_proto_msgTypes[20]
  1851  	if protoimpl.UnsafeEnabled && x != nil {
  1852  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1853  		if ms.LoadMessageInfo() == nil {
  1854  			ms.StoreMessageInfo(mi)
  1855  		}
  1856  		return ms
  1857  	}
  1858  	return mi.MessageOf(x)
  1859  }
  1860  
  1861  // Deprecated: Use QuerySpatialChannelMessage.ProtoReflect.Descriptor instead.
  1862  func (*QuerySpatialChannelMessage) Descriptor() ([]byte, []int) {
  1863  	return file_channeld_proto_rawDescGZIP(), []int{20}
  1864  }
  1865  
  1866  func (x *QuerySpatialChannelMessage) GetSpatialInfo() []*SpatialInfo {
  1867  	if x != nil {
  1868  		return x.SpatialInfo
  1869  	}
  1870  	return nil
  1871  }
  1872  
  1873  type QuerySpatialChannelResultMessage struct {
  1874  	state         protoimpl.MessageState
  1875  	sizeCache     protoimpl.SizeCache
  1876  	unknownFields protoimpl.UnknownFields
  1877  
  1878  	ChannelId []uint32 `protobuf:"varint,1,rep,packed,name=channelId,proto3" json:"channelId,omitempty"`
  1879  }
  1880  
  1881  func (x *QuerySpatialChannelResultMessage) Reset() {
  1882  	*x = QuerySpatialChannelResultMessage{}
  1883  	if protoimpl.UnsafeEnabled {
  1884  		mi := &file_channeld_proto_msgTypes[21]
  1885  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1886  		ms.StoreMessageInfo(mi)
  1887  	}
  1888  }
  1889  
  1890  func (x *QuerySpatialChannelResultMessage) String() string {
  1891  	return protoimpl.X.MessageStringOf(x)
  1892  }
  1893  
  1894  func (*QuerySpatialChannelResultMessage) ProtoMessage() {}
  1895  
  1896  func (x *QuerySpatialChannelResultMessage) ProtoReflect() protoreflect.Message {
  1897  	mi := &file_channeld_proto_msgTypes[21]
  1898  	if protoimpl.UnsafeEnabled && x != nil {
  1899  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1900  		if ms.LoadMessageInfo() == nil {
  1901  			ms.StoreMessageInfo(mi)
  1902  		}
  1903  		return ms
  1904  	}
  1905  	return mi.MessageOf(x)
  1906  }
  1907  
  1908  // Deprecated: Use QuerySpatialChannelResultMessage.ProtoReflect.Descriptor instead.
  1909  func (*QuerySpatialChannelResultMessage) Descriptor() ([]byte, []int) {
  1910  	return file_channeld_proto_rawDescGZIP(), []int{21}
  1911  }
  1912  
  1913  func (x *QuerySpatialChannelResultMessage) GetChannelId() []uint32 {
  1914  	if x != nil {
  1915  		return x.ChannelId
  1916  	}
  1917  	return nil
  1918  }
  1919  
  1920  // Indicates that all the spatial channels are created by the spatial servers, so the servers can continue further initialization.
  1921  type SpatialChannelsReadyMessage struct {
  1922  	state         protoimpl.MessageState
  1923  	sizeCache     protoimpl.SizeCache
  1924  	unknownFields protoimpl.UnknownFields
  1925  
  1926  	ServerIndex uint32 `protobuf:"varint,1,opt,name=serverIndex,proto3" json:"serverIndex,omitempty"`
  1927  	ServerCount uint32 `protobuf:"varint,2,opt,name=serverCount,proto3" json:"serverCount,omitempty"`
  1928  }
  1929  
  1930  func (x *SpatialChannelsReadyMessage) Reset() {
  1931  	*x = SpatialChannelsReadyMessage{}
  1932  	if protoimpl.UnsafeEnabled {
  1933  		mi := &file_channeld_proto_msgTypes[22]
  1934  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1935  		ms.StoreMessageInfo(mi)
  1936  	}
  1937  }
  1938  
  1939  func (x *SpatialChannelsReadyMessage) String() string {
  1940  	return protoimpl.X.MessageStringOf(x)
  1941  }
  1942  
  1943  func (*SpatialChannelsReadyMessage) ProtoMessage() {}
  1944  
  1945  func (x *SpatialChannelsReadyMessage) ProtoReflect() protoreflect.Message {
  1946  	mi := &file_channeld_proto_msgTypes[22]
  1947  	if protoimpl.UnsafeEnabled && x != nil {
  1948  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1949  		if ms.LoadMessageInfo() == nil {
  1950  			ms.StoreMessageInfo(mi)
  1951  		}
  1952  		return ms
  1953  	}
  1954  	return mi.MessageOf(x)
  1955  }
  1956  
  1957  // Deprecated: Use SpatialChannelsReadyMessage.ProtoReflect.Descriptor instead.
  1958  func (*SpatialChannelsReadyMessage) Descriptor() ([]byte, []int) {
  1959  	return file_channeld_proto_rawDescGZIP(), []int{22}
  1960  }
  1961  
  1962  func (x *SpatialChannelsReadyMessage) GetServerIndex() uint32 {
  1963  	if x != nil {
  1964  		return x.ServerIndex
  1965  	}
  1966  	return 0
  1967  }
  1968  
  1969  func (x *SpatialChannelsReadyMessage) GetServerCount() uint32 {
  1970  	if x != nil {
  1971  		return x.ServerCount
  1972  	}
  1973  	return 0
  1974  }
  1975  
  1976  // ALL connections in the source AND destination channels receive this messge when a handover happpned.
  1977  // Handover means an object moves from a spatial channel to another. It doesn't necessarily mean the objece moves from a spatial server to another.
  1978  type ChannelDataHandoverMessage struct {
  1979  	state         protoimpl.MessageState
  1980  	sizeCache     protoimpl.SizeCache
  1981  	unknownFields protoimpl.UnknownFields
  1982  
  1983  	SrcChannelId uint32 `protobuf:"varint,1,opt,name=srcChannelId,proto3" json:"srcChannelId,omitempty"`
  1984  	DstChannelId uint32 `protobuf:"varint,2,opt,name=dstChannelId,proto3" json:"dstChannelId,omitempty"`
  1985  	// The ID of the client connection that triggered the handover. If the handover is triggered by server (e.g. NPC movement), the value will be 0.
  1986  	ContextConnId uint32 `protobuf:"varint,3,opt,name=contextConnId,proto3" json:"contextConnId,omitempty"`
  1987  	// The data that migrate from the source channel to the destination channel. It can be the spatial channel data or anything, as long as the spatial servers can use it to process the handover.
  1988  	Data *anypb.Any `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
  1989  }
  1990  
  1991  func (x *ChannelDataHandoverMessage) Reset() {
  1992  	*x = ChannelDataHandoverMessage{}
  1993  	if protoimpl.UnsafeEnabled {
  1994  		mi := &file_channeld_proto_msgTypes[23]
  1995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1996  		ms.StoreMessageInfo(mi)
  1997  	}
  1998  }
  1999  
  2000  func (x *ChannelDataHandoverMessage) String() string {
  2001  	return protoimpl.X.MessageStringOf(x)
  2002  }
  2003  
  2004  func (*ChannelDataHandoverMessage) ProtoMessage() {}
  2005  
  2006  func (x *ChannelDataHandoverMessage) ProtoReflect() protoreflect.Message {
  2007  	mi := &file_channeld_proto_msgTypes[23]
  2008  	if protoimpl.UnsafeEnabled && x != nil {
  2009  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2010  		if ms.LoadMessageInfo() == nil {
  2011  			ms.StoreMessageInfo(mi)
  2012  		}
  2013  		return ms
  2014  	}
  2015  	return mi.MessageOf(x)
  2016  }
  2017  
  2018  // Deprecated: Use ChannelDataHandoverMessage.ProtoReflect.Descriptor instead.
  2019  func (*ChannelDataHandoverMessage) Descriptor() ([]byte, []int) {
  2020  	return file_channeld_proto_rawDescGZIP(), []int{23}
  2021  }
  2022  
  2023  func (x *ChannelDataHandoverMessage) GetSrcChannelId() uint32 {
  2024  	if x != nil {
  2025  		return x.SrcChannelId
  2026  	}
  2027  	return 0
  2028  }
  2029  
  2030  func (x *ChannelDataHandoverMessage) GetDstChannelId() uint32 {
  2031  	if x != nil {
  2032  		return x.DstChannelId
  2033  	}
  2034  	return 0
  2035  }
  2036  
  2037  func (x *ChannelDataHandoverMessage) GetContextConnId() uint32 {
  2038  	if x != nil {
  2039  		return x.ContextConnId
  2040  	}
  2041  	return 0
  2042  }
  2043  
  2044  func (x *ChannelDataHandoverMessage) GetData() *anypb.Any {
  2045  	if x != nil {
  2046  		return x.Data
  2047  	}
  2048  	return nil
  2049  }
  2050  
  2051  type SpatialRegion struct {
  2052  	state         protoimpl.MessageState
  2053  	sizeCache     protoimpl.SizeCache
  2054  	unknownFields protoimpl.UnknownFields
  2055  
  2056  	Min         *SpatialInfo `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"`
  2057  	Max         *SpatialInfo `protobuf:"bytes,2,opt,name=max,proto3" json:"max,omitempty"`
  2058  	ChannelId   uint32       `protobuf:"varint,3,opt,name=channelId,proto3" json:"channelId,omitempty"`
  2059  	ServerIndex uint32       `protobuf:"varint,4,opt,name=serverIndex,proto3" json:"serverIndex,omitempty"`
  2060  }
  2061  
  2062  func (x *SpatialRegion) Reset() {
  2063  	*x = SpatialRegion{}
  2064  	if protoimpl.UnsafeEnabled {
  2065  		mi := &file_channeld_proto_msgTypes[24]
  2066  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2067  		ms.StoreMessageInfo(mi)
  2068  	}
  2069  }
  2070  
  2071  func (x *SpatialRegion) String() string {
  2072  	return protoimpl.X.MessageStringOf(x)
  2073  }
  2074  
  2075  func (*SpatialRegion) ProtoMessage() {}
  2076  
  2077  func (x *SpatialRegion) ProtoReflect() protoreflect.Message {
  2078  	mi := &file_channeld_proto_msgTypes[24]
  2079  	if protoimpl.UnsafeEnabled && x != nil {
  2080  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2081  		if ms.LoadMessageInfo() == nil {
  2082  			ms.StoreMessageInfo(mi)
  2083  		}
  2084  		return ms
  2085  	}
  2086  	return mi.MessageOf(x)
  2087  }
  2088  
  2089  // Deprecated: Use SpatialRegion.ProtoReflect.Descriptor instead.
  2090  func (*SpatialRegion) Descriptor() ([]byte, []int) {
  2091  	return file_channeld_proto_rawDescGZIP(), []int{24}
  2092  }
  2093  
  2094  func (x *SpatialRegion) GetMin() *SpatialInfo {
  2095  	if x != nil {
  2096  		return x.Min
  2097  	}
  2098  	return nil
  2099  }
  2100  
  2101  func (x *SpatialRegion) GetMax() *SpatialInfo {
  2102  	if x != nil {
  2103  		return x.Max
  2104  	}
  2105  	return nil
  2106  }
  2107  
  2108  func (x *SpatialRegion) GetChannelId() uint32 {
  2109  	if x != nil {
  2110  		return x.ChannelId
  2111  	}
  2112  	return 0
  2113  }
  2114  
  2115  func (x *SpatialRegion) GetServerIndex() uint32 {
  2116  	if x != nil {
  2117  		return x.ServerIndex
  2118  	}
  2119  	return 0
  2120  }
  2121  
  2122  // channeld updates the information of spatial channels and regions to the spatial servers.
  2123  // Spatial servers use this information mainly for mapping the position of a spawned object to a correct channelId at realtime (rather than querying it before sending the spawn message to the client).
  2124  // Sent upon the creation of spatial channels (after @CreateSpatialChannelsResultMessage being sent), or any regional change (basiclally caused by the loadbalancer).
  2125  type SpatialRegionsUpdateMessage struct {
  2126  	state         protoimpl.MessageState
  2127  	sizeCache     protoimpl.SizeCache
  2128  	unknownFields protoimpl.UnknownFields
  2129  
  2130  	Regions []*SpatialRegion `protobuf:"bytes,1,rep,name=regions,proto3" json:"regions,omitempty"`
  2131  }
  2132  
  2133  func (x *SpatialRegionsUpdateMessage) Reset() {
  2134  	*x = SpatialRegionsUpdateMessage{}
  2135  	if protoimpl.UnsafeEnabled {
  2136  		mi := &file_channeld_proto_msgTypes[25]
  2137  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2138  		ms.StoreMessageInfo(mi)
  2139  	}
  2140  }
  2141  
  2142  func (x *SpatialRegionsUpdateMessage) String() string {
  2143  	return protoimpl.X.MessageStringOf(x)
  2144  }
  2145  
  2146  func (*SpatialRegionsUpdateMessage) ProtoMessage() {}
  2147  
  2148  func (x *SpatialRegionsUpdateMessage) ProtoReflect() protoreflect.Message {
  2149  	mi := &file_channeld_proto_msgTypes[25]
  2150  	if protoimpl.UnsafeEnabled && x != nil {
  2151  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2152  		if ms.LoadMessageInfo() == nil {
  2153  			ms.StoreMessageInfo(mi)
  2154  		}
  2155  		return ms
  2156  	}
  2157  	return mi.MessageOf(x)
  2158  }
  2159  
  2160  // Deprecated: Use SpatialRegionsUpdateMessage.ProtoReflect.Descriptor instead.
  2161  func (*SpatialRegionsUpdateMessage) Descriptor() ([]byte, []int) {
  2162  	return file_channeld_proto_rawDescGZIP(), []int{25}
  2163  }
  2164  
  2165  func (x *SpatialRegionsUpdateMessage) GetRegions() []*SpatialRegion {
  2166  	if x != nil {
  2167  		return x.Regions
  2168  	}
  2169  	return nil
  2170  }
  2171  
  2172  type SpatialInterestQuery struct {
  2173  	state         protoimpl.MessageState
  2174  	sizeCache     protoimpl.SizeCache
  2175  	unknownFields protoimpl.UnknownFields
  2176  
  2177  	SpotsAOI  *SpatialInterestQuery_SpotsAOI  `protobuf:"bytes,1,opt,name=spotsAOI,proto3,oneof" json:"spotsAOI,omitempty"`
  2178  	BoxAOI    *SpatialInterestQuery_BoxAOI    `protobuf:"bytes,2,opt,name=boxAOI,proto3,oneof" json:"boxAOI,omitempty"`
  2179  	SphereAOI *SpatialInterestQuery_SphereAOI `protobuf:"bytes,3,opt,name=sphereAOI,proto3,oneof" json:"sphereAOI,omitempty"`
  2180  	ConeAOI   *SpatialInterestQuery_ConeAOI   `protobuf:"bytes,4,opt,name=coneAOI,proto3,oneof" json:"coneAOI,omitempty"`
  2181  }
  2182  
  2183  func (x *SpatialInterestQuery) Reset() {
  2184  	*x = SpatialInterestQuery{}
  2185  	if protoimpl.UnsafeEnabled {
  2186  		mi := &file_channeld_proto_msgTypes[26]
  2187  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2188  		ms.StoreMessageInfo(mi)
  2189  	}
  2190  }
  2191  
  2192  func (x *SpatialInterestQuery) String() string {
  2193  	return protoimpl.X.MessageStringOf(x)
  2194  }
  2195  
  2196  func (*SpatialInterestQuery) ProtoMessage() {}
  2197  
  2198  func (x *SpatialInterestQuery) ProtoReflect() protoreflect.Message {
  2199  	mi := &file_channeld_proto_msgTypes[26]
  2200  	if protoimpl.UnsafeEnabled && x != nil {
  2201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2202  		if ms.LoadMessageInfo() == nil {
  2203  			ms.StoreMessageInfo(mi)
  2204  		}
  2205  		return ms
  2206  	}
  2207  	return mi.MessageOf(x)
  2208  }
  2209  
  2210  // Deprecated: Use SpatialInterestQuery.ProtoReflect.Descriptor instead.
  2211  func (*SpatialInterestQuery) Descriptor() ([]byte, []int) {
  2212  	return file_channeld_proto_rawDescGZIP(), []int{26}
  2213  }
  2214  
  2215  func (x *SpatialInterestQuery) GetSpotsAOI() *SpatialInterestQuery_SpotsAOI {
  2216  	if x != nil {
  2217  		return x.SpotsAOI
  2218  	}
  2219  	return nil
  2220  }
  2221  
  2222  func (x *SpatialInterestQuery) GetBoxAOI() *SpatialInterestQuery_BoxAOI {
  2223  	if x != nil {
  2224  		return x.BoxAOI
  2225  	}
  2226  	return nil
  2227  }
  2228  
  2229  func (x *SpatialInterestQuery) GetSphereAOI() *SpatialInterestQuery_SphereAOI {
  2230  	if x != nil {
  2231  		return x.SphereAOI
  2232  	}
  2233  	return nil
  2234  }
  2235  
  2236  func (x *SpatialInterestQuery) GetConeAOI() *SpatialInterestQuery_ConeAOI {
  2237  	if x != nil {
  2238  		return x.ConeAOI
  2239  	}
  2240  	return nil
  2241  }
  2242  
  2243  type UpdateSpatialInterestMessage struct {
  2244  	state         protoimpl.MessageState
  2245  	sizeCache     protoimpl.SizeCache
  2246  	unknownFields protoimpl.UnknownFields
  2247  
  2248  	ConnId uint32                `protobuf:"varint,1,opt,name=connId,proto3" json:"connId,omitempty"`
  2249  	Query  *SpatialInterestQuery `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
  2250  }
  2251  
  2252  func (x *UpdateSpatialInterestMessage) Reset() {
  2253  	*x = UpdateSpatialInterestMessage{}
  2254  	if protoimpl.UnsafeEnabled {
  2255  		mi := &file_channeld_proto_msgTypes[27]
  2256  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2257  		ms.StoreMessageInfo(mi)
  2258  	}
  2259  }
  2260  
  2261  func (x *UpdateSpatialInterestMessage) String() string {
  2262  	return protoimpl.X.MessageStringOf(x)
  2263  }
  2264  
  2265  func (*UpdateSpatialInterestMessage) ProtoMessage() {}
  2266  
  2267  func (x *UpdateSpatialInterestMessage) ProtoReflect() protoreflect.Message {
  2268  	mi := &file_channeld_proto_msgTypes[27]
  2269  	if protoimpl.UnsafeEnabled && x != nil {
  2270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2271  		if ms.LoadMessageInfo() == nil {
  2272  			ms.StoreMessageInfo(mi)
  2273  		}
  2274  		return ms
  2275  	}
  2276  	return mi.MessageOf(x)
  2277  }
  2278  
  2279  // Deprecated: Use UpdateSpatialInterestMessage.ProtoReflect.Descriptor instead.
  2280  func (*UpdateSpatialInterestMessage) Descriptor() ([]byte, []int) {
  2281  	return file_channeld_proto_rawDescGZIP(), []int{27}
  2282  }
  2283  
  2284  func (x *UpdateSpatialInterestMessage) GetConnId() uint32 {
  2285  	if x != nil {
  2286  		return x.ConnId
  2287  	}
  2288  	return 0
  2289  }
  2290  
  2291  func (x *UpdateSpatialInterestMessage) GetQuery() *SpatialInterestQuery {
  2292  	if x != nil {
  2293  		return x.Query
  2294  	}
  2295  	return nil
  2296  }
  2297  
  2298  type CreateEntityChannelMessage struct {
  2299  	state         protoimpl.MessageState
  2300  	sizeCache     protoimpl.SizeCache
  2301  	unknownFields protoimpl.UnknownFields
  2302  
  2303  	EntityId     uint32                      `protobuf:"varint,1,opt,name=entityId,proto3" json:"entityId,omitempty"`
  2304  	Metadata     string                      `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
  2305  	SubOptions   *ChannelSubscriptionOptions `protobuf:"bytes,3,opt,name=subOptions,proto3" json:"subOptions,omitempty"`
  2306  	Data         *anypb.Any                  `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
  2307  	MergeOptions *ChannelDataMergeOptions    `protobuf:"bytes,5,opt,name=mergeOptions,proto3" json:"mergeOptions,omitempty"`
  2308  	IsWellKnown  bool                        `protobuf:"varint,6,opt,name=isWellKnown,proto3" json:"isWellKnown,omitempty"`
  2309  }
  2310  
  2311  func (x *CreateEntityChannelMessage) Reset() {
  2312  	*x = CreateEntityChannelMessage{}
  2313  	if protoimpl.UnsafeEnabled {
  2314  		mi := &file_channeld_proto_msgTypes[28]
  2315  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2316  		ms.StoreMessageInfo(mi)
  2317  	}
  2318  }
  2319  
  2320  func (x *CreateEntityChannelMessage) String() string {
  2321  	return protoimpl.X.MessageStringOf(x)
  2322  }
  2323  
  2324  func (*CreateEntityChannelMessage) ProtoMessage() {}
  2325  
  2326  func (x *CreateEntityChannelMessage) ProtoReflect() protoreflect.Message {
  2327  	mi := &file_channeld_proto_msgTypes[28]
  2328  	if protoimpl.UnsafeEnabled && x != nil {
  2329  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2330  		if ms.LoadMessageInfo() == nil {
  2331  			ms.StoreMessageInfo(mi)
  2332  		}
  2333  		return ms
  2334  	}
  2335  	return mi.MessageOf(x)
  2336  }
  2337  
  2338  // Deprecated: Use CreateEntityChannelMessage.ProtoReflect.Descriptor instead.
  2339  func (*CreateEntityChannelMessage) Descriptor() ([]byte, []int) {
  2340  	return file_channeld_proto_rawDescGZIP(), []int{28}
  2341  }
  2342  
  2343  func (x *CreateEntityChannelMessage) GetEntityId() uint32 {
  2344  	if x != nil {
  2345  		return x.EntityId
  2346  	}
  2347  	return 0
  2348  }
  2349  
  2350  func (x *CreateEntityChannelMessage) GetMetadata() string {
  2351  	if x != nil {
  2352  		return x.Metadata
  2353  	}
  2354  	return ""
  2355  }
  2356  
  2357  func (x *CreateEntityChannelMessage) GetSubOptions() *ChannelSubscriptionOptions {
  2358  	if x != nil {
  2359  		return x.SubOptions
  2360  	}
  2361  	return nil
  2362  }
  2363  
  2364  func (x *CreateEntityChannelMessage) GetData() *anypb.Any {
  2365  	if x != nil {
  2366  		return x.Data
  2367  	}
  2368  	return nil
  2369  }
  2370  
  2371  func (x *CreateEntityChannelMessage) GetMergeOptions() *ChannelDataMergeOptions {
  2372  	if x != nil {
  2373  		return x.MergeOptions
  2374  	}
  2375  	return nil
  2376  }
  2377  
  2378  func (x *CreateEntityChannelMessage) GetIsWellKnown() bool {
  2379  	if x != nil {
  2380  		return x.IsWellKnown
  2381  	}
  2382  	return false
  2383  }
  2384  
  2385  // Add specified entities to the handover/lock group of the entity channel. Should sent by the entity channel owner.
  2386  type AddEntityGroupMessage struct {
  2387  	state         protoimpl.MessageState
  2388  	sizeCache     protoimpl.SizeCache
  2389  	unknownFields protoimpl.UnknownFields
  2390  
  2391  	Type          EntityGroupType `protobuf:"varint,1,opt,name=type,proto3,enum=channeldpb.EntityGroupType" json:"type,omitempty"`
  2392  	EntitiesToAdd []uint32        `protobuf:"varint,2,rep,packed,name=EntitiesToAdd,proto3" json:"EntitiesToAdd,omitempty"`
  2393  }
  2394  
  2395  func (x *AddEntityGroupMessage) Reset() {
  2396  	*x = AddEntityGroupMessage{}
  2397  	if protoimpl.UnsafeEnabled {
  2398  		mi := &file_channeld_proto_msgTypes[29]
  2399  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2400  		ms.StoreMessageInfo(mi)
  2401  	}
  2402  }
  2403  
  2404  func (x *AddEntityGroupMessage) String() string {
  2405  	return protoimpl.X.MessageStringOf(x)
  2406  }
  2407  
  2408  func (*AddEntityGroupMessage) ProtoMessage() {}
  2409  
  2410  func (x *AddEntityGroupMessage) ProtoReflect() protoreflect.Message {
  2411  	mi := &file_channeld_proto_msgTypes[29]
  2412  	if protoimpl.UnsafeEnabled && x != nil {
  2413  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2414  		if ms.LoadMessageInfo() == nil {
  2415  			ms.StoreMessageInfo(mi)
  2416  		}
  2417  		return ms
  2418  	}
  2419  	return mi.MessageOf(x)
  2420  }
  2421  
  2422  // Deprecated: Use AddEntityGroupMessage.ProtoReflect.Descriptor instead.
  2423  func (*AddEntityGroupMessage) Descriptor() ([]byte, []int) {
  2424  	return file_channeld_proto_rawDescGZIP(), []int{29}
  2425  }
  2426  
  2427  func (x *AddEntityGroupMessage) GetType() EntityGroupType {
  2428  	if x != nil {
  2429  		return x.Type
  2430  	}
  2431  	return EntityGroupType_HANDOVER
  2432  }
  2433  
  2434  func (x *AddEntityGroupMessage) GetEntitiesToAdd() []uint32 {
  2435  	if x != nil {
  2436  		return x.EntitiesToAdd
  2437  	}
  2438  	return nil
  2439  }
  2440  
  2441  // Remove specified entities from the handover/lock group of the entity channel. Should sent by the entity channel owner.
  2442  type RemoveEntityGroupMessage struct {
  2443  	state         protoimpl.MessageState
  2444  	sizeCache     protoimpl.SizeCache
  2445  	unknownFields protoimpl.UnknownFields
  2446  
  2447  	Type             EntityGroupType `protobuf:"varint,1,opt,name=type,proto3,enum=channeldpb.EntityGroupType" json:"type,omitempty"`
  2448  	EntitiesToRemove []uint32        `protobuf:"varint,2,rep,packed,name=EntitiesToRemove,proto3" json:"EntitiesToRemove,omitempty"`
  2449  }
  2450  
  2451  func (x *RemoveEntityGroupMessage) Reset() {
  2452  	*x = RemoveEntityGroupMessage{}
  2453  	if protoimpl.UnsafeEnabled {
  2454  		mi := &file_channeld_proto_msgTypes[30]
  2455  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2456  		ms.StoreMessageInfo(mi)
  2457  	}
  2458  }
  2459  
  2460  func (x *RemoveEntityGroupMessage) String() string {
  2461  	return protoimpl.X.MessageStringOf(x)
  2462  }
  2463  
  2464  func (*RemoveEntityGroupMessage) ProtoMessage() {}
  2465  
  2466  func (x *RemoveEntityGroupMessage) ProtoReflect() protoreflect.Message {
  2467  	mi := &file_channeld_proto_msgTypes[30]
  2468  	if protoimpl.UnsafeEnabled && x != nil {
  2469  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2470  		if ms.LoadMessageInfo() == nil {
  2471  			ms.StoreMessageInfo(mi)
  2472  		}
  2473  		return ms
  2474  	}
  2475  	return mi.MessageOf(x)
  2476  }
  2477  
  2478  // Deprecated: Use RemoveEntityGroupMessage.ProtoReflect.Descriptor instead.
  2479  func (*RemoveEntityGroupMessage) Descriptor() ([]byte, []int) {
  2480  	return file_channeld_proto_rawDescGZIP(), []int{30}
  2481  }
  2482  
  2483  func (x *RemoveEntityGroupMessage) GetType() EntityGroupType {
  2484  	if x != nil {
  2485  		return x.Type
  2486  	}
  2487  	return EntityGroupType_HANDOVER
  2488  }
  2489  
  2490  func (x *RemoveEntityGroupMessage) GetEntitiesToRemove() []uint32 {
  2491  	if x != nil {
  2492  		return x.EntitiesToRemove
  2493  	}
  2494  	return nil
  2495  }
  2496  
  2497  // Client requests the spatail regions information. Only valid in Development mode (with "-dev" launch argument).
  2498  // Response: @SpatialRegionsUpdateMessage
  2499  type DebugGetSpatialRegionsMessage struct {
  2500  	state         protoimpl.MessageState
  2501  	sizeCache     protoimpl.SizeCache
  2502  	unknownFields protoimpl.UnknownFields
  2503  }
  2504  
  2505  func (x *DebugGetSpatialRegionsMessage) Reset() {
  2506  	*x = DebugGetSpatialRegionsMessage{}
  2507  	if protoimpl.UnsafeEnabled {
  2508  		mi := &file_channeld_proto_msgTypes[31]
  2509  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2510  		ms.StoreMessageInfo(mi)
  2511  	}
  2512  }
  2513  
  2514  func (x *DebugGetSpatialRegionsMessage) String() string {
  2515  	return protoimpl.X.MessageStringOf(x)
  2516  }
  2517  
  2518  func (*DebugGetSpatialRegionsMessage) ProtoMessage() {}
  2519  
  2520  func (x *DebugGetSpatialRegionsMessage) ProtoReflect() protoreflect.Message {
  2521  	mi := &file_channeld_proto_msgTypes[31]
  2522  	if protoimpl.UnsafeEnabled && x != nil {
  2523  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2524  		if ms.LoadMessageInfo() == nil {
  2525  			ms.StoreMessageInfo(mi)
  2526  		}
  2527  		return ms
  2528  	}
  2529  	return mi.MessageOf(x)
  2530  }
  2531  
  2532  // Deprecated: Use DebugGetSpatialRegionsMessage.ProtoReflect.Descriptor instead.
  2533  func (*DebugGetSpatialRegionsMessage) Descriptor() ([]byte, []int) {
  2534  	return file_channeld_proto_rawDescGZIP(), []int{31}
  2535  }
  2536  
  2537  type ListChannelResultMessage_ChannelInfo struct {
  2538  	state         protoimpl.MessageState
  2539  	sizeCache     protoimpl.SizeCache
  2540  	unknownFields protoimpl.UnknownFields
  2541  
  2542  	ChannelId   uint32      `protobuf:"varint,1,opt,name=channelId,proto3" json:"channelId,omitempty"`
  2543  	ChannelType ChannelType `protobuf:"varint,2,opt,name=channelType,proto3,enum=channeldpb.ChannelType" json:"channelType,omitempty"`
  2544  	Metadata    string      `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
  2545  }
  2546  
  2547  func (x *ListChannelResultMessage_ChannelInfo) Reset() {
  2548  	*x = ListChannelResultMessage_ChannelInfo{}
  2549  	if protoimpl.UnsafeEnabled {
  2550  		mi := &file_channeld_proto_msgTypes[32]
  2551  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2552  		ms.StoreMessageInfo(mi)
  2553  	}
  2554  }
  2555  
  2556  func (x *ListChannelResultMessage_ChannelInfo) String() string {
  2557  	return protoimpl.X.MessageStringOf(x)
  2558  }
  2559  
  2560  func (*ListChannelResultMessage_ChannelInfo) ProtoMessage() {}
  2561  
  2562  func (x *ListChannelResultMessage_ChannelInfo) ProtoReflect() protoreflect.Message {
  2563  	mi := &file_channeld_proto_msgTypes[32]
  2564  	if protoimpl.UnsafeEnabled && x != nil {
  2565  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2566  		if ms.LoadMessageInfo() == nil {
  2567  			ms.StoreMessageInfo(mi)
  2568  		}
  2569  		return ms
  2570  	}
  2571  	return mi.MessageOf(x)
  2572  }
  2573  
  2574  // Deprecated: Use ListChannelResultMessage_ChannelInfo.ProtoReflect.Descriptor instead.
  2575  func (*ListChannelResultMessage_ChannelInfo) Descriptor() ([]byte, []int) {
  2576  	return file_channeld_proto_rawDescGZIP(), []int{11, 0}
  2577  }
  2578  
  2579  func (x *ListChannelResultMessage_ChannelInfo) GetChannelId() uint32 {
  2580  	if x != nil {
  2581  		return x.ChannelId
  2582  	}
  2583  	return 0
  2584  }
  2585  
  2586  func (x *ListChannelResultMessage_ChannelInfo) GetChannelType() ChannelType {
  2587  	if x != nil {
  2588  		return x.ChannelType
  2589  	}
  2590  	return ChannelType_UNKNOWN
  2591  }
  2592  
  2593  func (x *ListChannelResultMessage_ChannelInfo) GetMetadata() string {
  2594  	if x != nil {
  2595  		return x.Metadata
  2596  	}
  2597  	return ""
  2598  }
  2599  
  2600  type SpatialInterestQuery_SpotsAOI struct {
  2601  	state         protoimpl.MessageState
  2602  	sizeCache     protoimpl.SizeCache
  2603  	unknownFields protoimpl.UnknownFields
  2604  
  2605  	Spots []*SpatialInfo `protobuf:"bytes,1,rep,name=spots,proto3" json:"spots,omitempty"`
  2606  	// The fixed distance between each spot and the player. If not specified, 0 = nearest will be used.
  2607  	Dists []uint32 `protobuf:"varint,2,rep,packed,name=dists,proto3" json:"dists,omitempty"`
  2608  }
  2609  
  2610  func (x *SpatialInterestQuery_SpotsAOI) Reset() {
  2611  	*x = SpatialInterestQuery_SpotsAOI{}
  2612  	if protoimpl.UnsafeEnabled {
  2613  		mi := &file_channeld_proto_msgTypes[33]
  2614  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2615  		ms.StoreMessageInfo(mi)
  2616  	}
  2617  }
  2618  
  2619  func (x *SpatialInterestQuery_SpotsAOI) String() string {
  2620  	return protoimpl.X.MessageStringOf(x)
  2621  }
  2622  
  2623  func (*SpatialInterestQuery_SpotsAOI) ProtoMessage() {}
  2624  
  2625  func (x *SpatialInterestQuery_SpotsAOI) ProtoReflect() protoreflect.Message {
  2626  	mi := &file_channeld_proto_msgTypes[33]
  2627  	if protoimpl.UnsafeEnabled && x != nil {
  2628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2629  		if ms.LoadMessageInfo() == nil {
  2630  			ms.StoreMessageInfo(mi)
  2631  		}
  2632  		return ms
  2633  	}
  2634  	return mi.MessageOf(x)
  2635  }
  2636  
  2637  // Deprecated: Use SpatialInterestQuery_SpotsAOI.ProtoReflect.Descriptor instead.
  2638  func (*SpatialInterestQuery_SpotsAOI) Descriptor() ([]byte, []int) {
  2639  	return file_channeld_proto_rawDescGZIP(), []int{26, 0}
  2640  }
  2641  
  2642  func (x *SpatialInterestQuery_SpotsAOI) GetSpots() []*SpatialInfo {
  2643  	if x != nil {
  2644  		return x.Spots
  2645  	}
  2646  	return nil
  2647  }
  2648  
  2649  func (x *SpatialInterestQuery_SpotsAOI) GetDists() []uint32 {
  2650  	if x != nil {
  2651  		return x.Dists
  2652  	}
  2653  	return nil
  2654  }
  2655  
  2656  type SpatialInterestQuery_BoxAOI struct {
  2657  	state         protoimpl.MessageState
  2658  	sizeCache     protoimpl.SizeCache
  2659  	unknownFields protoimpl.UnknownFields
  2660  
  2661  	Center *SpatialInfo `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"`
  2662  	Extent *SpatialInfo `protobuf:"bytes,2,opt,name=extent,proto3" json:"extent,omitempty"`
  2663  }
  2664  
  2665  func (x *SpatialInterestQuery_BoxAOI) Reset() {
  2666  	*x = SpatialInterestQuery_BoxAOI{}
  2667  	if protoimpl.UnsafeEnabled {
  2668  		mi := &file_channeld_proto_msgTypes[34]
  2669  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2670  		ms.StoreMessageInfo(mi)
  2671  	}
  2672  }
  2673  
  2674  func (x *SpatialInterestQuery_BoxAOI) String() string {
  2675  	return protoimpl.X.MessageStringOf(x)
  2676  }
  2677  
  2678  func (*SpatialInterestQuery_BoxAOI) ProtoMessage() {}
  2679  
  2680  func (x *SpatialInterestQuery_BoxAOI) ProtoReflect() protoreflect.Message {
  2681  	mi := &file_channeld_proto_msgTypes[34]
  2682  	if protoimpl.UnsafeEnabled && x != nil {
  2683  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2684  		if ms.LoadMessageInfo() == nil {
  2685  			ms.StoreMessageInfo(mi)
  2686  		}
  2687  		return ms
  2688  	}
  2689  	return mi.MessageOf(x)
  2690  }
  2691  
  2692  // Deprecated: Use SpatialInterestQuery_BoxAOI.ProtoReflect.Descriptor instead.
  2693  func (*SpatialInterestQuery_BoxAOI) Descriptor() ([]byte, []int) {
  2694  	return file_channeld_proto_rawDescGZIP(), []int{26, 1}
  2695  }
  2696  
  2697  func (x *SpatialInterestQuery_BoxAOI) GetCenter() *SpatialInfo {
  2698  	if x != nil {
  2699  		return x.Center
  2700  	}
  2701  	return nil
  2702  }
  2703  
  2704  func (x *SpatialInterestQuery_BoxAOI) GetExtent() *SpatialInfo {
  2705  	if x != nil {
  2706  		return x.Extent
  2707  	}
  2708  	return nil
  2709  }
  2710  
  2711  type SpatialInterestQuery_SphereAOI struct {
  2712  	state         protoimpl.MessageState
  2713  	sizeCache     protoimpl.SizeCache
  2714  	unknownFields protoimpl.UnknownFields
  2715  
  2716  	Center *SpatialInfo `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"`
  2717  	Radius float64      `protobuf:"fixed64,2,opt,name=radius,proto3" json:"radius,omitempty"`
  2718  }
  2719  
  2720  func (x *SpatialInterestQuery_SphereAOI) Reset() {
  2721  	*x = SpatialInterestQuery_SphereAOI{}
  2722  	if protoimpl.UnsafeEnabled {
  2723  		mi := &file_channeld_proto_msgTypes[35]
  2724  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2725  		ms.StoreMessageInfo(mi)
  2726  	}
  2727  }
  2728  
  2729  func (x *SpatialInterestQuery_SphereAOI) String() string {
  2730  	return protoimpl.X.MessageStringOf(x)
  2731  }
  2732  
  2733  func (*SpatialInterestQuery_SphereAOI) ProtoMessage() {}
  2734  
  2735  func (x *SpatialInterestQuery_SphereAOI) ProtoReflect() protoreflect.Message {
  2736  	mi := &file_channeld_proto_msgTypes[35]
  2737  	if protoimpl.UnsafeEnabled && x != nil {
  2738  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2739  		if ms.LoadMessageInfo() == nil {
  2740  			ms.StoreMessageInfo(mi)
  2741  		}
  2742  		return ms
  2743  	}
  2744  	return mi.MessageOf(x)
  2745  }
  2746  
  2747  // Deprecated: Use SpatialInterestQuery_SphereAOI.ProtoReflect.Descriptor instead.
  2748  func (*SpatialInterestQuery_SphereAOI) Descriptor() ([]byte, []int) {
  2749  	return file_channeld_proto_rawDescGZIP(), []int{26, 2}
  2750  }
  2751  
  2752  func (x *SpatialInterestQuery_SphereAOI) GetCenter() *SpatialInfo {
  2753  	if x != nil {
  2754  		return x.Center
  2755  	}
  2756  	return nil
  2757  }
  2758  
  2759  func (x *SpatialInterestQuery_SphereAOI) GetRadius() float64 {
  2760  	if x != nil {
  2761  		return x.Radius
  2762  	}
  2763  	return 0
  2764  }
  2765  
  2766  type SpatialInterestQuery_ConeAOI struct {
  2767  	state         protoimpl.MessageState
  2768  	sizeCache     protoimpl.SizeCache
  2769  	unknownFields protoimpl.UnknownFields
  2770  
  2771  	Center    *SpatialInfo `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"`
  2772  	Direction *SpatialInfo `protobuf:"bytes,2,opt,name=direction,proto3" json:"direction,omitempty"`
  2773  	// In radians.
  2774  	Angle  float64 `protobuf:"fixed64,3,opt,name=angle,proto3" json:"angle,omitempty"`
  2775  	Radius float64 `protobuf:"fixed64,4,opt,name=radius,proto3" json:"radius,omitempty"`
  2776  }
  2777  
  2778  func (x *SpatialInterestQuery_ConeAOI) Reset() {
  2779  	*x = SpatialInterestQuery_ConeAOI{}
  2780  	if protoimpl.UnsafeEnabled {
  2781  		mi := &file_channeld_proto_msgTypes[36]
  2782  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2783  		ms.StoreMessageInfo(mi)
  2784  	}
  2785  }
  2786  
  2787  func (x *SpatialInterestQuery_ConeAOI) String() string {
  2788  	return protoimpl.X.MessageStringOf(x)
  2789  }
  2790  
  2791  func (*SpatialInterestQuery_ConeAOI) ProtoMessage() {}
  2792  
  2793  func (x *SpatialInterestQuery_ConeAOI) ProtoReflect() protoreflect.Message {
  2794  	mi := &file_channeld_proto_msgTypes[36]
  2795  	if protoimpl.UnsafeEnabled && x != nil {
  2796  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2797  		if ms.LoadMessageInfo() == nil {
  2798  			ms.StoreMessageInfo(mi)
  2799  		}
  2800  		return ms
  2801  	}
  2802  	return mi.MessageOf(x)
  2803  }
  2804  
  2805  // Deprecated: Use SpatialInterestQuery_ConeAOI.ProtoReflect.Descriptor instead.
  2806  func (*SpatialInterestQuery_ConeAOI) Descriptor() ([]byte, []int) {
  2807  	return file_channeld_proto_rawDescGZIP(), []int{26, 3}
  2808  }
  2809  
  2810  func (x *SpatialInterestQuery_ConeAOI) GetCenter() *SpatialInfo {
  2811  	if x != nil {
  2812  		return x.Center
  2813  	}
  2814  	return nil
  2815  }
  2816  
  2817  func (x *SpatialInterestQuery_ConeAOI) GetDirection() *SpatialInfo {
  2818  	if x != nil {
  2819  		return x.Direction
  2820  	}
  2821  	return nil
  2822  }
  2823  
  2824  func (x *SpatialInterestQuery_ConeAOI) GetAngle() float64 {
  2825  	if x != nil {
  2826  		return x.Angle
  2827  	}
  2828  	return 0
  2829  }
  2830  
  2831  func (x *SpatialInterestQuery_ConeAOI) GetRadius() float64 {
  2832  	if x != nil {
  2833  		return x.Radius
  2834  	}
  2835  	return 0
  2836  }
  2837  
  2838  var File_channeld_proto protoreflect.FileDescriptor
  2839  
  2840  var file_channeld_proto_rawDesc = []byte{
  2841  	0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2842  	0x12, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x1a, 0x19, 0x67, 0x6f,
  2843  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e,
  2844  	0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x06, 0x50, 0x61, 0x63, 0x6b, 0x65,
  2845  	0x74, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20,
  2846  	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62,
  2847  	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x08, 0x6d, 0x65,
  2848  	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61,
  2849  	0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  2850  	0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e,
  2851  	0x65, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73,
  2852  	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61,
  2853  	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x75, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
  2854  	0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x75, 0x62, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73,
  2855  	0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x67,
  2856  	0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x42, 0x6f, 0x64, 0x79, 0x18,
  2857  	0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x54,
  2858  	0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x4d,
  2859  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  2860  	0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6c,
  2861  	0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
  2862  	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79,
  2863  	0x6c, 0x6f, 0x61, 0x64, 0x22, 0x63, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x73, 0x73,
  2864  	0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x65,
  2865  	0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
  2866  	0x28, 0x09, 0x52, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
  2867  	0x66, 0x69, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x67,
  2868  	0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c,
  2869  	0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x41, 0x75,
  2870  	0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
  2871  	0x40, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
  2872  	0x28, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x41, 0x75, 0x74,
  2873  	0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41,
  2874  	0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
  2875  	0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  2876  	0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6f, 0x6d,
  2877  	0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
  2878  	0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e,
  2879  	0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52,
  2880  	0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
  2881  	0x22, 0x3d, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e,
  2882  	0x0a, 0x0a, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x00, 0x12, 0x0f,
  2883  	0x0a, 0x0b, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x49, 0x54, 0x10, 0x01, 0x12,
  2884  	0x0e, 0x0a, 0x0a, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x54, 0x10, 0x02, 0x22,
  2885  	0xaf, 0x03, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x75, 0x62, 0x73, 0x63,
  2886  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42,
  2887  	0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
  2888  	0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e,
  2889  	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, 0x63, 0x65, 0x73,
  2890  	0x73, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88,
  2891  	0x01, 0x01, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d,
  2892  	0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61,
  2893  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x2f, 0x0a, 0x10, 0x66, 0x61,
  2894  	0x6e, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x18, 0x03,
  2895  	0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x10, 0x66, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x49, 0x6e,
  2896  	0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x66,
  2897  	0x61, 0x6e, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x73, 0x18, 0x04, 0x20, 0x01,
  2898  	0x28, 0x05, 0x48, 0x02, 0x52, 0x0d, 0x66, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x6c, 0x61,
  2899  	0x79, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x65,
  2900  	0x6c, 0x66, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x18, 0x05,
  2901  	0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x65, 0x6c, 0x66,
  2902  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12,
  2903  	0x2d, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x69, 0x72, 0x73, 0x74, 0x46, 0x61, 0x6e, 0x4f,
  2904  	0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70,
  2905  	0x46, 0x69, 0x72, 0x73, 0x74, 0x46, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d,
  2906  	0x0a, 0x0b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x13, 0x0a,
  2907  	0x11, 0x5f, 0x66, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
  2908  	0x4d, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x6c,
  2909  	0x61, 0x79, 0x4d, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x65, 0x6c,
  2910  	0x66, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x6e, 0x4f, 0x75, 0x74, 0x42, 0x12, 0x0a,
  2911  	0x10, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x69, 0x72, 0x73, 0x74, 0x46, 0x61, 0x6e, 0x4f, 0x75,
  2912  	0x74, 0x22, 0xd3, 0x01, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74,
  2913  	0x61, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a,
  2914  	0x11, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4c, 0x69,
  2915  	0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64,
  2916  	0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6c,
  2917  	0x69, 0x73, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01,
  2918  	0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6d, 0x69,
  2919  	0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70,
  2920  	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65,
  2921  	0x54, 0x6f, 0x70, 0x12, 0x42, 0x0a, 0x1c, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x43, 0x68, 0x65,
  2922  	0x63, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x46, 0x69,
  2923  	0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x73, 0x68, 0x6f, 0x75, 0x6c,
  2924  	0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x4d,
  2925  	0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xa8, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61,
  2926  	0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2927  	0x12, 0x39, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18,
  2928  	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64,
  2929  	0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
  2930  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
  2931  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
  2932  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4f, 0x70,
  2933  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68,
  2934  	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
  2935  	0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69,
  2936  	0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
  2937  	0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
  2938  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2939  	0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x0c, 0x6d, 0x65, 0x72,
  2940  	0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2941  	0x23, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61,
  2942  	0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4f, 0x70, 0x74,
  2943  	0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
  2944  	0x6e, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
  2945  	0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
  2946  	0x65, 0x12, 0x39, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65,
  2947  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
  2948  	0x64, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52,
  2949  	0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08,
  2950  	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
  2951  	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65,
  2952  	0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f,
  2953  	0x77, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68,
  2954  	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63,
  2955  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f,
  2956  	0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2957  	0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20,
  2958  	0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x77,
  2959  	0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73,
  2960  	0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74,
  2961  	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
  2962  	0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70,
  2963  	0x65, 0x52, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a,
  2964  	0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
  2965  	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  2966  	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74,
  2967  	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73,
  2968  	0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73,
  2969  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
  2970  	0x64, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52,
  2971  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61,
  2972  	0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  2973  	0x6c, 0x73, 0x1a, 0x82, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e,
  2974  	0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18,
  2975  	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64,
  2976  	0x12, 0x39, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18,
  2977  	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64,
  2978  	0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
  2979  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
  2980  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
  2981  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7c, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x73, 0x63,
  2982  	0x72, 0x69, 0x62, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65,
  2983  	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18,
  2984  	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a,
  2985  	0x0a, 0x73, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
  2986  	0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43,
  2987  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  2988  	0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4f, 0x70,
  2989  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
  2990  	0x69, 0x62, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73,
  2991  	0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f,
  2992  	0x6e, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6e,
  2993  	0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2994  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
  2995  	0x64, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x75, 0x62, 0x73, 0x63,
  2996  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a,
  2997  	0x73, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x6f,
  2998  	0x6e, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63,
  2999  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
  3000  	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x54, 0x79,
  3001  	0x70, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70,
  3002  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  3003  	0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65,
  3004  	0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x38, 0x0a,
  3005  	0x1e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x46, 0x72, 0x6f,
  3006  	0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
  3007  	0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
  3008  	0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x24, 0x55, 0x6e, 0x73, 0x75,
  3009  	0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x6e,
  3010  	0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  3011  	0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
  3012  	0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x6e,
  3013  	0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x61,
  3014  	0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
  3015  	0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x54, 0x79, 0x70, 0x65,
  3016  	0x12, 0x39, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18,
  3017  	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64,
  3018  	0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
  3019  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x18, 0x43,
  3020  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
  3021  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
  3022  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  3023  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74,
  3024  	0x61, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x6e,
  3025  	0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  3026  	0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f,
  3027  	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06,
  3028  	0x63, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f,
  3029  	0x6e, 0x6e, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0b, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49,
  3030  	0x6e, 0x66, 0x6f, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01,
  3031  	0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x12,
  3032  	0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x22, 0x8e, 0x01,
  3033  	0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x43,
  3034  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73,
  3035  	0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x43,
  3036  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10,
  3037  	0x73, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64,
  3038  	0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01,
  3039  	0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b,
  3040  	0x6f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
  3041  	0x0d, 0x52, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x22, 0x57,
  3042  	0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68,
  3043  	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x0b,
  3044  	0x73, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28,
  3045  	0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53,
  3046  	0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x70, 0x61, 0x74,
  3047  	0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x40, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79,
  3048  	0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65,
  3049  	0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63,
  3050  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09,
  3051  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x1b, 0x53, 0x70, 0x61,
  3052  	0x74, 0x69, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x61, 0x64,
  3053  	0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76,
  3054  	0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73,
  3055  	0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65,
  3056  	0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
  3057  	0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb4, 0x01, 0x0a,
  3058  	0x1a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x48, 0x61, 0x6e, 0x64,
  3059  	0x6f, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73,
  3060  	0x72, 0x63, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  3061  	0x0d, 0x52, 0x0c, 0x73, 0x72, 0x63, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12,
  3062  	0x22, 0x0a, 0x0c, 0x64, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18,
  3063  	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  3064  	0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f,
  3065  	0x6e, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74,
  3066  	0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74,
  3067  	0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3068  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64,
  3069  	0x61, 0x74, 0x61, 0x22, 0xa5, 0x01, 0x0a, 0x0d, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x52,
  3070  	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
  3071  	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e,
  3072  	0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x6d, 0x69, 0x6e,
  3073  	0x12, 0x29, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  3074  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69,
  3075  	0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63,
  3076  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
  3077  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72,
  3078  	0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
  3079  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x52, 0x0a, 0x1b, 0x53,
  3080  	0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x55, 0x70, 0x64,
  3081  	0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65,
  3082  	0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68,
  3083  	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c,
  3084  	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x22,
  3085  	0xa7, 0x06, 0x0a, 0x14, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72,
  3086  	0x65, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x70, 0x6f, 0x74,
  3087  	0x73, 0x41, 0x4f, 0x49, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x68, 0x61,
  3088  	0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49,
  3089  	0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x70, 0x6f,
  3090  	0x74, 0x73, 0x41, 0x4f, 0x49, 0x48, 0x00, 0x52, 0x08, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x41, 0x4f,
  3091  	0x49, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x62, 0x6f, 0x78, 0x41, 0x4f, 0x49, 0x18, 0x02,
  3092  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70,
  3093  	0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73,
  3094  	0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x78, 0x41, 0x4f, 0x49, 0x48, 0x01, 0x52,
  3095  	0x06, 0x62, 0x6f, 0x78, 0x41, 0x4f, 0x49, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x09, 0x73, 0x70,
  3096  	0x68, 0x65, 0x72, 0x65, 0x41, 0x4f, 0x49, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
  3097  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69,
  3098  	0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e,
  3099  	0x53, 0x70, 0x68, 0x65, 0x72, 0x65, 0x41, 0x4f, 0x49, 0x48, 0x02, 0x52, 0x09, 0x73, 0x70, 0x68,
  3100  	0x65, 0x72, 0x65, 0x41, 0x4f, 0x49, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
  3101  	0x65, 0x41, 0x4f, 0x49, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x68, 0x61,
  3102  	0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49,
  3103  	0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e,
  3104  	0x65, 0x41, 0x4f, 0x49, 0x48, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x65, 0x41, 0x4f, 0x49, 0x88,
  3105  	0x01, 0x01, 0x1a, 0x4f, 0x0a, 0x08, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x41, 0x4f, 0x49, 0x12, 0x2d,
  3106  	0x0a, 0x05, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  3107  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69,
  3108  	0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x12, 0x14, 0x0a,
  3109  	0x05, 0x64, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x69,
  3110  	0x73, 0x74, 0x73, 0x1a, 0x6a, 0x0a, 0x06, 0x42, 0x6f, 0x78, 0x41, 0x4f, 0x49, 0x12, 0x2f, 0x0a,
  3111  	0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  3112  	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69,
  3113  	0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2f,
  3114  	0x0a, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
  3115  	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74,
  3116  	0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x1a,
  3117  	0x54, 0x0a, 0x09, 0x53, 0x70, 0x68, 0x65, 0x72, 0x65, 0x41, 0x4f, 0x49, 0x12, 0x2f, 0x0a, 0x06,
  3118  	0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
  3119  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61,
  3120  	0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a,
  3121  	0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x72,
  3122  	0x61, 0x64, 0x69, 0x75, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x65, 0x41, 0x4f,
  3123  	0x49, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
  3124  	0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53,
  3125  	0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74,
  3126  	0x65, 0x72, 0x12, 0x35, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  3127  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64,
  3128  	0x70, 0x62, 0x2e, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09,
  3129  	0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6e, 0x67,
  3130  	0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x12,
  3131  	0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52,
  3132  	0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x70, 0x6f, 0x74,
  3133  	0x73, 0x41, 0x4f, 0x49, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x78, 0x41, 0x4f, 0x49, 0x42,
  3134  	0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x70, 0x68, 0x65, 0x72, 0x65, 0x41, 0x4f, 0x49, 0x42, 0x0a, 0x0a,
  3135  	0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x65, 0x41, 0x4f, 0x49, 0x22, 0x6e, 0x0a, 0x1c, 0x55, 0x70, 0x64,
  3136  	0x61, 0x74, 0x65, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65,
  3137  	0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e,
  3138  	0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x6e, 0x49,
  3139  	0x64, 0x12, 0x36, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  3140  	0x32, 0x20, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x53, 0x70,
  3141  	0x61, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x51, 0x75, 0x65,
  3142  	0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xb1, 0x02, 0x0a, 0x1a, 0x43, 0x72,
  3143  	0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  3144  	0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69,
  3145  	0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
  3146  	0x74, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  3147  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  3148  	0x12, 0x46, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
  3149  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70,
  3150  	0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  3151  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x73, 0x75,
  3152  	0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
  3153  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  3154  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61,
  3155  	0x74, 0x61, 0x12, 0x47, 0x0a, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
  3156  	0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
  3157  	0x65, 0x6c, 0x64, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74,
  3158  	0x61, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x6d,
  3159  	0x65, 0x72, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69,
  3160  	0x73, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
  3161  	0x52, 0x0b, 0x69, 0x73, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x22, 0x6e, 0x0a,
  3162  	0x15, 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d,
  3163  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
  3164  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x70,
  3165  	0x62, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70,
  3166  	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x6e, 0x74, 0x69, 0x74,
  3167  	0x69, 0x65, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d,
  3168  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x22, 0x77, 0x0a,
  3169  	0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f,
  3170  	0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70,
  3171  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  3172  	0x6c, 0x64, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70,
  3173  	0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x6e,
  3174  	0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x02,
  3175  	0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x54, 0x6f,
  3176  	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47,
  3177  	0x65, 0x74, 0x53, 0x70, 0x61, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73,
  3178  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0xa7, 0x01, 0x0a, 0x0d, 0x42, 0x72, 0x6f, 0x61,
  3179  	0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x5f,
  3180  	0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53,
  3181  	0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e,
  3182  	0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x41,
  3183  	0x4c, 0x4c, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12,
  3184  	0x11, 0x0a, 0x0d, 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52,
  3185  	0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x43, 0x4c,
  3186  	0x49, 0x45, 0x4e, 0x54, 0x10, 0x10, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x55,
  3187  	0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x20, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x44,
  3188  	0x4a, 0x41, 0x43, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x10,
  3189  	0x40, 0x2a, 0x3b, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54,
  3190  	0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43,
  3191  	0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
  3192  	0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x90,
  3193  	0x01, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b,
  3194  	0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47,
  3195  	0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x56, 0x41,
  3196  	0x54, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x55, 0x42, 0x57, 0x4f, 0x52, 0x4c, 0x44,
  3197  	0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x50, 0x41, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x04, 0x12,
  3198  	0x0a, 0x0a, 0x06, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x54,
  3199  	0x45, 0x53, 0x54, 0x10, 0x64, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x45, 0x53, 0x54, 0x31, 0x10, 0x65,
  3200  	0x12, 0x09, 0x0a, 0x05, 0x54, 0x45, 0x53, 0x54, 0x32, 0x10, 0x66, 0x12, 0x09, 0x0a, 0x05, 0x54,
  3201  	0x45, 0x53, 0x54, 0x33, 0x10, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x45, 0x53, 0x54, 0x34, 0x10,
  3202  	0x68, 0x2a, 0xd9, 0x03, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70,
  3203  	0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x08,
  3204  	0x0a, 0x04, 0x41, 0x55, 0x54, 0x48, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x52, 0x45, 0x41,
  3205  	0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e,
  3206  	0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x04,
  3207  	0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c,
  3208  	0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x55, 0x42, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x48, 0x41,
  3209  	0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x53, 0x55, 0x42, 0x5f,
  3210  	0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x07, 0x12, 0x17,
  3211  	0x0a, 0x13, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x55,
  3212  	0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x53, 0x43, 0x4f,
  3213  	0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x09, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x52, 0x45, 0x41, 0x54,
  3214  	0x45, 0x5f, 0x53, 0x50, 0x41, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45,
  3215  	0x4c, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x50, 0x41,
  3216  	0x54, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x0b, 0x12, 0x19,
  3217  	0x0a, 0x15, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x48,
  3218  	0x41, 0x4e, 0x44, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x0c, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x50, 0x41,
  3219  	0x54, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x55, 0x50, 0x44,
  3220  	0x41, 0x54, 0x45, 0x10, 0x0d, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f,
  3221  	0x53, 0x50, 0x41, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x45, 0x53, 0x54,
  3222  	0x10, 0x0e, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54,
  3223  	0x49, 0x54, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x0f, 0x12, 0x14, 0x0a,
  3224  	0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x44,
  3225  	0x44, 0x10, 0x10, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52,
  3226  	0x4f, 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x11, 0x12, 0x1a, 0x0a, 0x16,
  3227  	0x53, 0x50, 0x41, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53,
  3228  	0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x12, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x42, 0x55,
  3229  	0x47, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x50, 0x41, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x45,
  3230  	0x47, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x63, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x5f,
  3231  	0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x64, 0x2a, 0x31, 0x0a,
  3232  	0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
  3233  	0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49,
  3234  	0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x4e, 0x41, 0x50, 0x50, 0x59, 0x10, 0x01,
  3235  	0x2a, 0x45, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x41,
  3236  	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x41, 0x43, 0x43, 0x45,
  3237  	0x53, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x43, 0x43,
  3238  	0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x41,
  3239  	0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x2a, 0x29, 0x0a, 0x0f, 0x45, 0x6e, 0x74, 0x69, 0x74,
  3240  	0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x41,
  3241  	0x4e, 0x44, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x43, 0x4b,
  3242  	0x10, 0x01, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
  3243  	0x2f, 0x6d, 0x65, 0x74, 0x61, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x68, 0x61,
  3244  	0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  3245  	0x6c, 0x64, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  3246  }
  3247  
  3248  var (
  3249  	file_channeld_proto_rawDescOnce sync.Once
  3250  	file_channeld_proto_rawDescData = file_channeld_proto_rawDesc
  3251  )
  3252  
  3253  func file_channeld_proto_rawDescGZIP() []byte {
  3254  	file_channeld_proto_rawDescOnce.Do(func() {
  3255  		file_channeld_proto_rawDescData = protoimpl.X.CompressGZIP(file_channeld_proto_rawDescData)
  3256  	})
  3257  	return file_channeld_proto_rawDescData
  3258  }
  3259  
  3260  var file_channeld_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
  3261  var file_channeld_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
  3262  var file_channeld_proto_goTypes = []interface{}{
  3263  	(BroadcastType)(0),                           // 0: channeldpb.BroadcastType
  3264  	(ConnectionType)(0),                          // 1: channeldpb.ConnectionType
  3265  	(ChannelType)(0),                             // 2: channeldpb.ChannelType
  3266  	(MessageType)(0),                             // 3: channeldpb.MessageType
  3267  	(CompressionType)(0),                         // 4: channeldpb.CompressionType
  3268  	(ChannelDataAccess)(0),                       // 5: channeldpb.ChannelDataAccess
  3269  	(EntityGroupType)(0),                         // 6: channeldpb.EntityGroupType
  3270  	(AuthResultMessage_AuthResult)(0),            // 7: channeldpb.AuthResultMessage.AuthResult
  3271  	(*Packet)(nil),                               // 8: channeldpb.Packet
  3272  	(*MessagePack)(nil),                          // 9: channeldpb.MessagePack
  3273  	(*ServerForwardMessage)(nil),                 // 10: channeldpb.ServerForwardMessage
  3274  	(*AuthMessage)(nil),                          // 11: channeldpb.AuthMessage
  3275  	(*AuthResultMessage)(nil),                    // 12: channeldpb.AuthResultMessage
  3276  	(*ChannelSubscriptionOptions)(nil),           // 13: channeldpb.ChannelSubscriptionOptions
  3277  	(*ChannelDataMergeOptions)(nil),              // 14: channeldpb.ChannelDataMergeOptions
  3278  	(*CreateChannelMessage)(nil),                 // 15: channeldpb.CreateChannelMessage
  3279  	(*CreateChannelResultMessage)(nil),           // 16: channeldpb.CreateChannelResultMessage
  3280  	(*RemoveChannelMessage)(nil),                 // 17: channeldpb.RemoveChannelMessage
  3281  	(*ListChannelMessage)(nil),                   // 18: channeldpb.ListChannelMessage
  3282  	(*ListChannelResultMessage)(nil),             // 19: channeldpb.ListChannelResultMessage
  3283  	(*SubscribedToChannelMessage)(nil),           // 20: channeldpb.SubscribedToChannelMessage
  3284  	(*SubscribedToChannelResultMessage)(nil),     // 21: channeldpb.SubscribedToChannelResultMessage
  3285  	(*UnsubscribedFromChannelMessage)(nil),       // 22: channeldpb.UnsubscribedFromChannelMessage
  3286  	(*UnsubscribedFromChannelResultMessage)(nil), // 23: channeldpb.UnsubscribedFromChannelResultMessage
  3287  	(*ChannelDataUpdateMessage)(nil),             // 24: channeldpb.ChannelDataUpdateMessage
  3288  	(*DisconnectMessage)(nil),                    // 25: channeldpb.DisconnectMessage
  3289  	(*SpatialInfo)(nil),                          // 26: channeldpb.SpatialInfo
  3290  	(*CreateSpatialChannelsResultMessage)(nil),   // 27: channeldpb.CreateSpatialChannelsResultMessage
  3291  	(*QuerySpatialChannelMessage)(nil),           // 28: channeldpb.QuerySpatialChannelMessage
  3292  	(*QuerySpatialChannelResultMessage)(nil),     // 29: channeldpb.QuerySpatialChannelResultMessage
  3293  	(*SpatialChannelsReadyMessage)(nil),          // 30: channeldpb.SpatialChannelsReadyMessage
  3294  	(*ChannelDataHandoverMessage)(nil),           // 31: channeldpb.ChannelDataHandoverMessage
  3295  	(*SpatialRegion)(nil),                        // 32: channeldpb.SpatialRegion
  3296  	(*SpatialRegionsUpdateMessage)(nil),          // 33: channeldpb.SpatialRegionsUpdateMessage
  3297  	(*SpatialInterestQuery)(nil),                 // 34: channeldpb.SpatialInterestQuery
  3298  	(*UpdateSpatialInterestMessage)(nil),         // 35: channeldpb.UpdateSpatialInterestMessage
  3299  	(*CreateEntityChannelMessage)(nil),           // 36: channeldpb.CreateEntityChannelMessage
  3300  	(*AddEntityGroupMessage)(nil),                // 37: channeldpb.AddEntityGroupMessage
  3301  	(*RemoveEntityGroupMessage)(nil),             // 38: channeldpb.RemoveEntityGroupMessage
  3302  	(*DebugGetSpatialRegionsMessage)(nil),        // 39: channeldpb.DebugGetSpatialRegionsMessage
  3303  	(*ListChannelResultMessage_ChannelInfo)(nil), // 40: channeldpb.ListChannelResultMessage.ChannelInfo
  3304  	(*SpatialInterestQuery_SpotsAOI)(nil),        // 41: channeldpb.SpatialInterestQuery.SpotsAOI
  3305  	(*SpatialInterestQuery_BoxAOI)(nil),          // 42: channeldpb.SpatialInterestQuery.BoxAOI
  3306  	(*SpatialInterestQuery_SphereAOI)(nil),       // 43: channeldpb.SpatialInterestQuery.SphereAOI
  3307  	(*SpatialInterestQuery_ConeAOI)(nil),         // 44: channeldpb.SpatialInterestQuery.ConeAOI
  3308  	(*anypb.Any)(nil),                            // 45: google.protobuf.Any
  3309  }
  3310  var file_channeld_proto_depIdxs = []int32{
  3311  	9,  // 0: channeldpb.Packet.messages:type_name -> channeldpb.MessagePack
  3312  	7,  // 1: channeldpb.AuthResultMessage.result:type_name -> channeldpb.AuthResultMessage.AuthResult
  3313  	4,  // 2: channeldpb.AuthResultMessage.compressionType:type_name -> channeldpb.CompressionType
  3314  	5,  // 3: channeldpb.ChannelSubscriptionOptions.dataAccess:type_name -> channeldpb.ChannelDataAccess
  3315  	2,  // 4: channeldpb.CreateChannelMessage.channelType:type_name -> channeldpb.ChannelType
  3316  	13, // 5: channeldpb.CreateChannelMessage.subOptions:type_name -> channeldpb.ChannelSubscriptionOptions
  3317  	45, // 6: channeldpb.CreateChannelMessage.data:type_name -> google.protobuf.Any
  3318  	14, // 7: channeldpb.CreateChannelMessage.mergeOptions:type_name -> channeldpb.ChannelDataMergeOptions
  3319  	2,  // 8: channeldpb.CreateChannelResultMessage.channelType:type_name -> channeldpb.ChannelType
  3320  	2,  // 9: channeldpb.ListChannelMessage.typeFilter:type_name -> channeldpb.ChannelType
  3321  	40, // 10: channeldpb.ListChannelResultMessage.channels:type_name -> channeldpb.ListChannelResultMessage.ChannelInfo
  3322  	13, // 11: channeldpb.SubscribedToChannelMessage.subOptions:type_name -> channeldpb.ChannelSubscriptionOptions
  3323  	13, // 12: channeldpb.SubscribedToChannelResultMessage.subOptions:type_name -> channeldpb.ChannelSubscriptionOptions
  3324  	1,  // 13: channeldpb.SubscribedToChannelResultMessage.connType:type_name -> channeldpb.ConnectionType
  3325  	2,  // 14: channeldpb.SubscribedToChannelResultMessage.channelType:type_name -> channeldpb.ChannelType
  3326  	1,  // 15: channeldpb.UnsubscribedFromChannelResultMessage.connType:type_name -> channeldpb.ConnectionType
  3327  	2,  // 16: channeldpb.UnsubscribedFromChannelResultMessage.channelType:type_name -> channeldpb.ChannelType
  3328  	45, // 17: channeldpb.ChannelDataUpdateMessage.data:type_name -> google.protobuf.Any
  3329  	26, // 18: channeldpb.QuerySpatialChannelMessage.spatialInfo:type_name -> channeldpb.SpatialInfo
  3330  	45, // 19: channeldpb.ChannelDataHandoverMessage.data:type_name -> google.protobuf.Any
  3331  	26, // 20: channeldpb.SpatialRegion.min:type_name -> channeldpb.SpatialInfo
  3332  	26, // 21: channeldpb.SpatialRegion.max:type_name -> channeldpb.SpatialInfo
  3333  	32, // 22: channeldpb.SpatialRegionsUpdateMessage.regions:type_name -> channeldpb.SpatialRegion
  3334  	41, // 23: channeldpb.SpatialInterestQuery.spotsAOI:type_name -> channeldpb.SpatialInterestQuery.SpotsAOI
  3335  	42, // 24: channeldpb.SpatialInterestQuery.boxAOI:type_name -> channeldpb.SpatialInterestQuery.BoxAOI
  3336  	43, // 25: channeldpb.SpatialInterestQuery.sphereAOI:type_name -> channeldpb.SpatialInterestQuery.SphereAOI
  3337  	44, // 26: channeldpb.SpatialInterestQuery.coneAOI:type_name -> channeldpb.SpatialInterestQuery.ConeAOI
  3338  	34, // 27: channeldpb.UpdateSpatialInterestMessage.query:type_name -> channeldpb.SpatialInterestQuery
  3339  	13, // 28: channeldpb.CreateEntityChannelMessage.subOptions:type_name -> channeldpb.ChannelSubscriptionOptions
  3340  	45, // 29: channeldpb.CreateEntityChannelMessage.data:type_name -> google.protobuf.Any
  3341  	14, // 30: channeldpb.CreateEntityChannelMessage.mergeOptions:type_name -> channeldpb.ChannelDataMergeOptions
  3342  	6,  // 31: channeldpb.AddEntityGroupMessage.type:type_name -> channeldpb.EntityGroupType
  3343  	6,  // 32: channeldpb.RemoveEntityGroupMessage.type:type_name -> channeldpb.EntityGroupType
  3344  	2,  // 33: channeldpb.ListChannelResultMessage.ChannelInfo.channelType:type_name -> channeldpb.ChannelType
  3345  	26, // 34: channeldpb.SpatialInterestQuery.SpotsAOI.spots:type_name -> channeldpb.SpatialInfo
  3346  	26, // 35: channeldpb.SpatialInterestQuery.BoxAOI.center:type_name -> channeldpb.SpatialInfo
  3347  	26, // 36: channeldpb.SpatialInterestQuery.BoxAOI.extent:type_name -> channeldpb.SpatialInfo
  3348  	26, // 37: channeldpb.SpatialInterestQuery.SphereAOI.center:type_name -> channeldpb.SpatialInfo
  3349  	26, // 38: channeldpb.SpatialInterestQuery.ConeAOI.center:type_name -> channeldpb.SpatialInfo
  3350  	26, // 39: channeldpb.SpatialInterestQuery.ConeAOI.direction:type_name -> channeldpb.SpatialInfo
  3351  	40, // [40:40] is the sub-list for method output_type
  3352  	40, // [40:40] is the sub-list for method input_type
  3353  	40, // [40:40] is the sub-list for extension type_name
  3354  	40, // [40:40] is the sub-list for extension extendee
  3355  	0,  // [0:40] is the sub-list for field type_name
  3356  }
  3357  
  3358  func init() { file_channeld_proto_init() }
  3359  func file_channeld_proto_init() {
  3360  	if File_channeld_proto != nil {
  3361  		return
  3362  	}
  3363  	if !protoimpl.UnsafeEnabled {
  3364  		file_channeld_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  3365  			switch v := v.(*Packet); i {
  3366  			case 0:
  3367  				return &v.state
  3368  			case 1:
  3369  				return &v.sizeCache
  3370  			case 2:
  3371  				return &v.unknownFields
  3372  			default:
  3373  				return nil
  3374  			}
  3375  		}
  3376  		file_channeld_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  3377  			switch v := v.(*MessagePack); i {
  3378  			case 0:
  3379  				return &v.state
  3380  			case 1:
  3381  				return &v.sizeCache
  3382  			case 2:
  3383  				return &v.unknownFields
  3384  			default:
  3385  				return nil
  3386  			}
  3387  		}
  3388  		file_channeld_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  3389  			switch v := v.(*ServerForwardMessage); i {
  3390  			case 0:
  3391  				return &v.state
  3392  			case 1:
  3393  				return &v.sizeCache
  3394  			case 2:
  3395  				return &v.unknownFields
  3396  			default:
  3397  				return nil
  3398  			}
  3399  		}
  3400  		file_channeld_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  3401  			switch v := v.(*AuthMessage); i {
  3402  			case 0:
  3403  				return &v.state
  3404  			case 1:
  3405  				return &v.sizeCache
  3406  			case 2:
  3407  				return &v.unknownFields
  3408  			default:
  3409  				return nil
  3410  			}
  3411  		}
  3412  		file_channeld_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3413  			switch v := v.(*AuthResultMessage); i {
  3414  			case 0:
  3415  				return &v.state
  3416  			case 1:
  3417  				return &v.sizeCache
  3418  			case 2:
  3419  				return &v.unknownFields
  3420  			default:
  3421  				return nil
  3422  			}
  3423  		}
  3424  		file_channeld_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3425  			switch v := v.(*ChannelSubscriptionOptions); i {
  3426  			case 0:
  3427  				return &v.state
  3428  			case 1:
  3429  				return &v.sizeCache
  3430  			case 2:
  3431  				return &v.unknownFields
  3432  			default:
  3433  				return nil
  3434  			}
  3435  		}
  3436  		file_channeld_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3437  			switch v := v.(*ChannelDataMergeOptions); i {
  3438  			case 0:
  3439  				return &v.state
  3440  			case 1:
  3441  				return &v.sizeCache
  3442  			case 2:
  3443  				return &v.unknownFields
  3444  			default:
  3445  				return nil
  3446  			}
  3447  		}
  3448  		file_channeld_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3449  			switch v := v.(*CreateChannelMessage); i {
  3450  			case 0:
  3451  				return &v.state
  3452  			case 1:
  3453  				return &v.sizeCache
  3454  			case 2:
  3455  				return &v.unknownFields
  3456  			default:
  3457  				return nil
  3458  			}
  3459  		}
  3460  		file_channeld_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  3461  			switch v := v.(*CreateChannelResultMessage); i {
  3462  			case 0:
  3463  				return &v.state
  3464  			case 1:
  3465  				return &v.sizeCache
  3466  			case 2:
  3467  				return &v.unknownFields
  3468  			default:
  3469  				return nil
  3470  			}
  3471  		}
  3472  		file_channeld_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3473  			switch v := v.(*RemoveChannelMessage); i {
  3474  			case 0:
  3475  				return &v.state
  3476  			case 1:
  3477  				return &v.sizeCache
  3478  			case 2:
  3479  				return &v.unknownFields
  3480  			default:
  3481  				return nil
  3482  			}
  3483  		}
  3484  		file_channeld_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3485  			switch v := v.(*ListChannelMessage); i {
  3486  			case 0:
  3487  				return &v.state
  3488  			case 1:
  3489  				return &v.sizeCache
  3490  			case 2:
  3491  				return &v.unknownFields
  3492  			default:
  3493  				return nil
  3494  			}
  3495  		}
  3496  		file_channeld_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3497  			switch v := v.(*ListChannelResultMessage); i {
  3498  			case 0:
  3499  				return &v.state
  3500  			case 1:
  3501  				return &v.sizeCache
  3502  			case 2:
  3503  				return &v.unknownFields
  3504  			default:
  3505  				return nil
  3506  			}
  3507  		}
  3508  		file_channeld_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3509  			switch v := v.(*SubscribedToChannelMessage); i {
  3510  			case 0:
  3511  				return &v.state
  3512  			case 1:
  3513  				return &v.sizeCache
  3514  			case 2:
  3515  				return &v.unknownFields
  3516  			default:
  3517  				return nil
  3518  			}
  3519  		}
  3520  		file_channeld_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3521  			switch v := v.(*SubscribedToChannelResultMessage); i {
  3522  			case 0:
  3523  				return &v.state
  3524  			case 1:
  3525  				return &v.sizeCache
  3526  			case 2:
  3527  				return &v.unknownFields
  3528  			default:
  3529  				return nil
  3530  			}
  3531  		}
  3532  		file_channeld_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3533  			switch v := v.(*UnsubscribedFromChannelMessage); i {
  3534  			case 0:
  3535  				return &v.state
  3536  			case 1:
  3537  				return &v.sizeCache
  3538  			case 2:
  3539  				return &v.unknownFields
  3540  			default:
  3541  				return nil
  3542  			}
  3543  		}
  3544  		file_channeld_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3545  			switch v := v.(*UnsubscribedFromChannelResultMessage); i {
  3546  			case 0:
  3547  				return &v.state
  3548  			case 1:
  3549  				return &v.sizeCache
  3550  			case 2:
  3551  				return &v.unknownFields
  3552  			default:
  3553  				return nil
  3554  			}
  3555  		}
  3556  		file_channeld_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3557  			switch v := v.(*ChannelDataUpdateMessage); i {
  3558  			case 0:
  3559  				return &v.state
  3560  			case 1:
  3561  				return &v.sizeCache
  3562  			case 2:
  3563  				return &v.unknownFields
  3564  			default:
  3565  				return nil
  3566  			}
  3567  		}
  3568  		file_channeld_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3569  			switch v := v.(*DisconnectMessage); i {
  3570  			case 0:
  3571  				return &v.state
  3572  			case 1:
  3573  				return &v.sizeCache
  3574  			case 2:
  3575  				return &v.unknownFields
  3576  			default:
  3577  				return nil
  3578  			}
  3579  		}
  3580  		file_channeld_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3581  			switch v := v.(*SpatialInfo); i {
  3582  			case 0:
  3583  				return &v.state
  3584  			case 1:
  3585  				return &v.sizeCache
  3586  			case 2:
  3587  				return &v.unknownFields
  3588  			default:
  3589  				return nil
  3590  			}
  3591  		}
  3592  		file_channeld_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3593  			switch v := v.(*CreateSpatialChannelsResultMessage); i {
  3594  			case 0:
  3595  				return &v.state
  3596  			case 1:
  3597  				return &v.sizeCache
  3598  			case 2:
  3599  				return &v.unknownFields
  3600  			default:
  3601  				return nil
  3602  			}
  3603  		}
  3604  		file_channeld_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  3605  			switch v := v.(*QuerySpatialChannelMessage); i {
  3606  			case 0:
  3607  				return &v.state
  3608  			case 1:
  3609  				return &v.sizeCache
  3610  			case 2:
  3611  				return &v.unknownFields
  3612  			default:
  3613  				return nil
  3614  			}
  3615  		}
  3616  		file_channeld_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3617  			switch v := v.(*QuerySpatialChannelResultMessage); i {
  3618  			case 0:
  3619  				return &v.state
  3620  			case 1:
  3621  				return &v.sizeCache
  3622  			case 2:
  3623  				return &v.unknownFields
  3624  			default:
  3625  				return nil
  3626  			}
  3627  		}
  3628  		file_channeld_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  3629  			switch v := v.(*SpatialChannelsReadyMessage); i {
  3630  			case 0:
  3631  				return &v.state
  3632  			case 1:
  3633  				return &v.sizeCache
  3634  			case 2:
  3635  				return &v.unknownFields
  3636  			default:
  3637  				return nil
  3638  			}
  3639  		}
  3640  		file_channeld_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  3641  			switch v := v.(*ChannelDataHandoverMessage); i {
  3642  			case 0:
  3643  				return &v.state
  3644  			case 1:
  3645  				return &v.sizeCache
  3646  			case 2:
  3647  				return &v.unknownFields
  3648  			default:
  3649  				return nil
  3650  			}
  3651  		}
  3652  		file_channeld_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  3653  			switch v := v.(*SpatialRegion); i {
  3654  			case 0:
  3655  				return &v.state
  3656  			case 1:
  3657  				return &v.sizeCache
  3658  			case 2:
  3659  				return &v.unknownFields
  3660  			default:
  3661  				return nil
  3662  			}
  3663  		}
  3664  		file_channeld_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  3665  			switch v := v.(*SpatialRegionsUpdateMessage); i {
  3666  			case 0:
  3667  				return &v.state
  3668  			case 1:
  3669  				return &v.sizeCache
  3670  			case 2:
  3671  				return &v.unknownFields
  3672  			default:
  3673  				return nil
  3674  			}
  3675  		}
  3676  		file_channeld_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  3677  			switch v := v.(*SpatialInterestQuery); i {
  3678  			case 0:
  3679  				return &v.state
  3680  			case 1:
  3681  				return &v.sizeCache
  3682  			case 2:
  3683  				return &v.unknownFields
  3684  			default:
  3685  				return nil
  3686  			}
  3687  		}
  3688  		file_channeld_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  3689  			switch v := v.(*UpdateSpatialInterestMessage); i {
  3690  			case 0:
  3691  				return &v.state
  3692  			case 1:
  3693  				return &v.sizeCache
  3694  			case 2:
  3695  				return &v.unknownFields
  3696  			default:
  3697  				return nil
  3698  			}
  3699  		}
  3700  		file_channeld_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  3701  			switch v := v.(*CreateEntityChannelMessage); i {
  3702  			case 0:
  3703  				return &v.state
  3704  			case 1:
  3705  				return &v.sizeCache
  3706  			case 2:
  3707  				return &v.unknownFields
  3708  			default:
  3709  				return nil
  3710  			}
  3711  		}
  3712  		file_channeld_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  3713  			switch v := v.(*AddEntityGroupMessage); i {
  3714  			case 0:
  3715  				return &v.state
  3716  			case 1:
  3717  				return &v.sizeCache
  3718  			case 2:
  3719  				return &v.unknownFields
  3720  			default:
  3721  				return nil
  3722  			}
  3723  		}
  3724  		file_channeld_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  3725  			switch v := v.(*RemoveEntityGroupMessage); i {
  3726  			case 0:
  3727  				return &v.state
  3728  			case 1:
  3729  				return &v.sizeCache
  3730  			case 2:
  3731  				return &v.unknownFields
  3732  			default:
  3733  				return nil
  3734  			}
  3735  		}
  3736  		file_channeld_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  3737  			switch v := v.(*DebugGetSpatialRegionsMessage); i {
  3738  			case 0:
  3739  				return &v.state
  3740  			case 1:
  3741  				return &v.sizeCache
  3742  			case 2:
  3743  				return &v.unknownFields
  3744  			default:
  3745  				return nil
  3746  			}
  3747  		}
  3748  		file_channeld_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  3749  			switch v := v.(*ListChannelResultMessage_ChannelInfo); i {
  3750  			case 0:
  3751  				return &v.state
  3752  			case 1:
  3753  				return &v.sizeCache
  3754  			case 2:
  3755  				return &v.unknownFields
  3756  			default:
  3757  				return nil
  3758  			}
  3759  		}
  3760  		file_channeld_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  3761  			switch v := v.(*SpatialInterestQuery_SpotsAOI); i {
  3762  			case 0:
  3763  				return &v.state
  3764  			case 1:
  3765  				return &v.sizeCache
  3766  			case 2:
  3767  				return &v.unknownFields
  3768  			default:
  3769  				return nil
  3770  			}
  3771  		}
  3772  		file_channeld_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  3773  			switch v := v.(*SpatialInterestQuery_BoxAOI); i {
  3774  			case 0:
  3775  				return &v.state
  3776  			case 1:
  3777  				return &v.sizeCache
  3778  			case 2:
  3779  				return &v.unknownFields
  3780  			default:
  3781  				return nil
  3782  			}
  3783  		}
  3784  		file_channeld_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  3785  			switch v := v.(*SpatialInterestQuery_SphereAOI); i {
  3786  			case 0:
  3787  				return &v.state
  3788  			case 1:
  3789  				return &v.sizeCache
  3790  			case 2:
  3791  				return &v.unknownFields
  3792  			default:
  3793  				return nil
  3794  			}
  3795  		}
  3796  		file_channeld_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  3797  			switch v := v.(*SpatialInterestQuery_ConeAOI); i {
  3798  			case 0:
  3799  				return &v.state
  3800  			case 1:
  3801  				return &v.sizeCache
  3802  			case 2:
  3803  				return &v.unknownFields
  3804  			default:
  3805  				return nil
  3806  			}
  3807  		}
  3808  	}
  3809  	file_channeld_proto_msgTypes[5].OneofWrappers = []interface{}{}
  3810  	file_channeld_proto_msgTypes[26].OneofWrappers = []interface{}{}
  3811  	type x struct{}
  3812  	out := protoimpl.TypeBuilder{
  3813  		File: protoimpl.DescBuilder{
  3814  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3815  			RawDescriptor: file_channeld_proto_rawDesc,
  3816  			NumEnums:      8,
  3817  			NumMessages:   37,
  3818  			NumExtensions: 0,
  3819  			NumServices:   0,
  3820  		},
  3821  		GoTypes:           file_channeld_proto_goTypes,
  3822  		DependencyIndexes: file_channeld_proto_depIdxs,
  3823  		EnumInfos:         file_channeld_proto_enumTypes,
  3824  		MessageInfos:      file_channeld_proto_msgTypes,
  3825  	}.Build()
  3826  	File_channeld_proto = out.File
  3827  	file_channeld_proto_rawDesc = nil
  3828  	file_channeld_proto_goTypes = nil
  3829  	file_channeld_proto_depIdxs = nil
  3830  }