<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: centrifugo/api/v1/api.proto

namespace RoadRunner\Centrifugal\API\DTO\V1\GPBMetadata;

class Api
{
    public static $is_initialized = false;

    public static function initOnce() {
        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();

        if (static::$is_initialized == true) {
          return;
        }
        $pool->internalAddGeneratedFile(
            "\x0A\xEF\xB6\x01\x0A\x1Bcentrifugo/api/v1/api.proto\x12\x1Acentrifugal.centrifugo.api\"\xF8\x17\x0A\x07Command\x12\x0A\x0A\x02id\x18\x01 \x01(\x0D\x12>\x0A\x06method\x18\x02 \x01(\x0E2..centrifugal.centrifugo.api.Command.MethodType\x12\x0E\x0A\x06params\x18\x03 \x01(\x0C\x12;\x0A\x07publish\x18\x04 \x01(\x0B2*.centrifugal.centrifugo.api.PublishRequest\x12?\x0A\x09broadcast\x18\x05 \x01(\x0B2,.centrifugal.centrifugo.api.BroadcastRequest\x12?\x0A\x09subscribe\x18\x06 \x01(\x0B2,.centrifugal.centrifugo.api.SubscribeRequest\x12C\x0A\x0Bunsubscribe\x18\x07 \x01(\x0B2..centrifugal.centrifugo.api.UnsubscribeRequest\x12A\x0A\x0Adisconnect\x18\x08 \x01(\x0B2-.centrifugal.centrifugo.api.DisconnectRequest\x12=\x0A\x08presence\x18\x09 \x01(\x0B2+.centrifugal.centrifugo.api.PresenceRequest\x12H\x0A\x0Epresence_stats\x18\x0A \x01(\x0B20.centrifugal.centrifugo.api.PresenceStatsRequest\x12;\x0A\x07history\x18\x0B \x01(\x0B2*.centrifugal.centrifugo.api.HistoryRequest\x12H\x0A\x0Ehistory_remove\x18\x0C \x01(\x0B20.centrifugal.centrifugo.api.HistoryRemoveRequest\x125\x0A\x04info\x18\x0D \x01(\x0B2'.centrifugal.centrifugo.api.InfoRequest\x123\x0A\x03rpc\x18\x0E \x01(\x0B2&.centrifugal.centrifugo.api.RPCRequest\x12;\x0A\x07refresh\x18\x0F \x01(\x0B2*.centrifugal.centrifugo.api.RefreshRequest\x12=\x0A\x08channels\x18\x10 \x01(\x0B2+.centrifugal.centrifugo.api.ChannelsRequest\x12C\x0A\x0Bconnections\x18\x11 \x01(\x0B2..centrifugal.centrifugo.api.ConnectionsRequest\x12O\x0A\x12update_user_status\x18\x12 \x01(\x0B23.centrifugal.centrifugo.api.UpdateUserStatusRequest\x12I\x0A\x0Fget_user_status\x18\x13 \x01(\x0B20.centrifugal.centrifugo.api.GetUserStatusRequest\x12O\x0A\x12delete_user_status\x18\x14 \x01(\x0B23.centrifugal.centrifugo.api.DeleteUserStatusRequest\x12@\x0A\x0Ablock_user\x18\x15 \x01(\x0B2,.centrifugal.centrifugo.api.BlockUserRequest\x12D\x0A\x0Cunblock_user\x18\x16 \x01(\x0B2..centrifugal.centrifugo.api.UnblockUserRequest\x12D\x0A\x0Crevoke_token\x18\x17 \x01(\x0B2..centrifugal.centrifugo.api.RevokeTokenRequest\x12W\x0A\x16invalidate_user_tokens\x18\x18 \x01(\x0B27.centrifugal.centrifugo.api.InvalidateUserTokensRequest\x12J\x0A\x0Fdevice_register\x18\x19 \x01(\x0B21.centrifugal.centrifugo.api.DeviceRegisterRequest\x12F\x0A\x0Ddevice_update\x18\x1A \x01(\x0B2/.centrifugal.centrifugo.api.DeviceUpdateRequest\x12F\x0A\x0Ddevice_remove\x18\x1B \x01(\x0B2/.centrifugal.centrifugo.api.DeviceRemoveRequest\x12B\x0A\x0Bdevice_list\x18\x1C \x01(\x0B2-.centrifugal.centrifugo.api.DeviceListRequest\x12M\x0A\x11device_topic_list\x18\x1D \x01(\x0B22.centrifugal.centrifugo.api.DeviceTopicListRequest\x12Q\x0A\x13device_topic_update\x18\x1E \x01(\x0B24.centrifugal.centrifugo.api.DeviceTopicUpdateRequest\x12I\x0A\x0Fuser_topic_list\x18\x1F \x01(\x0B20.centrifugal.centrifugo.api.UserTopicListRequest\x12M\x0A\x11user_topic_update\x18  \x01(\x0B22.centrifugal.centrifugo.api.UserTopicUpdateRequest\x12W\x0A\x16send_push_notification\x18! \x01(\x0B27.centrifugal.centrifugo.api.SendPushNotificationRequest\x12O\x0A\x12update_push_status\x18\" \x01(\x0B23.centrifugal.centrifugo.api.UpdatePushStatusRequest\x12B\x0A\x0Bcancel_push\x18# \x01(\x0B2-.centrifugal.centrifugo.api.CancelPushRequest\x12@\x0A\x0Arate_limit\x182 \x01(\x0B2,.centrifugal.centrifugo.api.RateLimitRequest\"\xEC\x04\x0A\x0AMethodType\x12\x0B\x0A\x07PUBLISH\x10\x00\x12\x0D\x0A\x09BROADCAST\x10\x01\x12\x0F\x0A\x0BUNSUBSCRIBE\x10\x02\x12\x0E\x0A\x0ADISCONNECT\x10\x03\x12\x0C\x0A\x08PRESENCE\x10\x04\x12\x12\x0A\x0EPRESENCE_STATS\x10\x05\x12\x0B\x0A\x07HISTORY\x10\x06\x12\x12\x0A\x0EHISTORY_REMOVE\x10\x07\x12\x0C\x0A\x08CHANNELS\x10\x08\x12\x08\x0A\x04INFO\x10\x09\x12\x07\x0A\x03RPC\x10\x0A\x12\x0D\x0A\x09SUBSCRIBE\x10\x0B\x12\x0B\x0A\x07REFRESH\x10\x0C\x12\x0F\x0A\x0BCONNECTIONS\x10\x0E\x12\x16\x0A\x12UPDATE_USER_STATUS\x10\x0F\x12\x13\x0A\x0FGET_USER_STATUS\x10\x10\x12\x16\x0A\x12DELETE_USER_STATUS\x10\x11\x12\x0E\x0A\x0ABLOCK_USER\x10\x12\x12\x10\x0A\x0CUNBLOCK_USER\x10\x13\x12\x10\x0A\x0CREVOKE_TOKEN\x10\x14\x12\x1A\x0A\x16INVALIDATE_USER_TOKENS\x10\x15\x12\x13\x0A\x0FDEVICE_REGISTER\x10\x16\x12\x11\x0A\x0DDEVICE_UPDATE\x10\x17\x12\x11\x0A\x0DDEVICE_REMOVE\x10\x18\x12\x0F\x0A\x0BDEVICE_LIST\x10\x19\x12\x15\x0A\x11DEVICE_TOPIC_LIST\x10\x1A\x12\x17\x0A\x13DEVICE_TOPIC_UPDATE\x10\x1B\x12\x13\x0A\x0FUSER_TOPIC_LIST\x10\x1C\x12\x15\x0A\x11USER_TOPIC_UPDATE\x10\x1D\x12\x1A\x0A\x16SEND_PUSH_NOTIFICATION\x10\x1E\x12\x16\x0A\x12UPDATE_PUSH_STATUS\x10\x1F\x12\x0F\x0A\x0BCANCEL_PUSH\x10 \x12\x0E\x0A\x0ARATE_LIMIT\x10/\"&\x0A\x05Error\x12\x0C\x0A\x04code\x18\x01 \x01(\x0D\x12\x0F\x0A\x07message\x18\x02 \x01(\x09\"\xD8\x12\x0A\x05Reply\x12\x0A\x0A\x02id\x18\x01 \x01(\x0D\x120\x0A\x05error\x18\x02 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12\x0E\x0A\x06result\x18\x03 \x01(\x0C\x12:\x0A\x07publish\x18\x04 \x01(\x0B2).centrifugal.centrifugo.api.PublishResult\x12>\x0A\x09broadcast\x18\x05 \x01(\x0B2+.centrifugal.centrifugo.api.BroadcastResult\x12>\x0A\x09subscribe\x18\x06 \x01(\x0B2+.centrifugal.centrifugo.api.SubscribeResult\x12B\x0A\x0Bunsubscribe\x18\x07 \x01(\x0B2-.centrifugal.centrifugo.api.UnsubscribeResult\x12@\x0A\x0Adisconnect\x18\x08 \x01(\x0B2,.centrifugal.centrifugo.api.DisconnectResult\x12<\x0A\x08presence\x18\x09 \x01(\x0B2*.centrifugal.centrifugo.api.PresenceResult\x12G\x0A\x0Epresence_stats\x18\x0A \x01(\x0B2/.centrifugal.centrifugo.api.PresenceStatsResult\x12:\x0A\x07history\x18\x0B \x01(\x0B2).centrifugal.centrifugo.api.HistoryResult\x12G\x0A\x0Ehistory_remove\x18\x0C \x01(\x0B2/.centrifugal.centrifugo.api.HistoryRemoveResult\x124\x0A\x04info\x18\x0D \x01(\x0B2&.centrifugal.centrifugo.api.InfoResult\x122\x0A\x03rpc\x18\x0E \x01(\x0B2%.centrifugal.centrifugo.api.RPCResult\x12:\x0A\x07refresh\x18\x0F \x01(\x0B2).centrifugal.centrifugo.api.RefreshResult\x12<\x0A\x08channels\x18\x10 \x01(\x0B2*.centrifugal.centrifugo.api.ChannelsResult\x12B\x0A\x0Bconnections\x18\x11 \x01(\x0B2-.centrifugal.centrifugo.api.ConnectionsResult\x12N\x0A\x12update_user_status\x18\x12 \x01(\x0B22.centrifugal.centrifugo.api.UpdateUserStatusResult\x12H\x0A\x0Fget_user_status\x18\x13 \x01(\x0B2/.centrifugal.centrifugo.api.GetUserStatusResult\x12N\x0A\x12delete_user_status\x18\x14 \x01(\x0B22.centrifugal.centrifugo.api.DeleteUserStatusResult\x12?\x0A\x0Ablock_user\x18\x15 \x01(\x0B2+.centrifugal.centrifugo.api.BlockUserResult\x12C\x0A\x0Cunblock_user\x18\x16 \x01(\x0B2-.centrifugal.centrifugo.api.UnblockUserResult\x12C\x0A\x0Crevoke_token\x18\x17 \x01(\x0B2-.centrifugal.centrifugo.api.RevokeTokenResult\x12V\x0A\x16invalidate_user_tokens\x18\x18 \x01(\x0B26.centrifugal.centrifugo.api.InvalidateUserTokensResult\x12I\x0A\x0Fdevice_register\x18\x19 \x01(\x0B20.centrifugal.centrifugo.api.DeviceRegisterResult\x12E\x0A\x0Ddevice_update\x18\x1A \x01(\x0B2..centrifugal.centrifugo.api.DeviceUpdateResult\x12E\x0A\x0Ddevice_remove\x18\x1B \x01(\x0B2..centrifugal.centrifugo.api.DeviceRemoveResult\x12A\x0A\x0Bdevice_list\x18\x1C \x01(\x0B2,.centrifugal.centrifugo.api.DeviceListResult\x12L\x0A\x11device_topic_list\x18\x1D \x01(\x0B21.centrifugal.centrifugo.api.DeviceTopicListResult\x12P\x0A\x13device_topic_update\x18\x1E \x01(\x0B23.centrifugal.centrifugo.api.DeviceTopicUpdateResult\x12H\x0A\x0Fuser_topic_list\x18\x1F \x01(\x0B2/.centrifugal.centrifugo.api.UserTopicListResult\x12L\x0A\x11user_topic_update\x18  \x01(\x0B21.centrifugal.centrifugo.api.UserTopicUpdateResult\x12V\x0A\x16send_push_notification\x18! \x01(\x0B26.centrifugal.centrifugo.api.SendPushNotificationResult\x12N\x0A\x12update_push_status\x18\" \x01(\x0B22.centrifugal.centrifugo.api.UpdatePushStatusResult\x12A\x0A\x0Bcancel_push\x18# \x01(\x0B2,.centrifugal.centrifugo.api.CancelPushResult\x12?\x0A\x0Arate_limit\x182 \x01(\x0B2+.centrifugal.centrifugo.api.RateLimitResult\"\x1A\x0A\x09BoolValue\x12\x0D\x0A\x05value\x18\x01 \x01(\x08\"\x1B\x0A\x0AInt32Value\x12\x0D\x0A\x05value\x18\x01 \x01(\x05\"\xD4\x02\x0A\x17SubscribeOptionOverride\x127\x0A\x08presence\x18\x01 \x01(\x0B2%.centrifugal.centrifugo.api.BoolValue\x129\x0A\x0Ajoin_leave\x18\x02 \x01(\x0B2%.centrifugal.centrifugo.api.BoolValue\x12=\x0A\x0Eforce_recovery\x18\x03 \x01(\x0B2%.centrifugal.centrifugo.api.BoolValue\x12@\x0A\x11force_positioning\x18\x04 \x01(\x0B2%.centrifugal.centrifugo.api.BoolValue\x12D\x0A\x15force_push_join_leave\x18\x05 \x01(\x0B2%.centrifugal.centrifugo.api.BoolValue\"W\x0A\x0CBatchRequest\x125\x0A\x08commands\x18\x01 \x03(\x0B2#.centrifugal.centrifugo.api.Command\x12\x10\x0A\x08parallel\x18\x02 \x01(\x08\"C\x0A\x0DBatchResponse\x122\x0A\x07replies\x18\x01 \x03(\x0B2!.centrifugal.centrifugo.api.Reply\"\xE0\x01\x0A\x0EPublishRequest\x12\x0F\x0A\x07channel\x18\x01 \x01(\x09\x12\x0C\x0A\x04data\x18\x02 \x01(\x0C\x12\x0F\x0A\x07b64data\x18\x03 \x01(\x09\x12\x14\x0A\x0Cskip_history\x18\x04 \x01(\x08\x12B\x0A\x04tags\x18\x05 \x03(\x0B24.centrifugal.centrifugo.api.PublishRequest.TagsEntry\x12\x17\x0A\x0Fidempotency_key\x18\x06 \x01(\x09\x1A+\x0A\x09TagsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"~\x0A\x0FPublishResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x129\x0A\x06result\x18\x02 \x01(\x0B2).centrifugal.centrifugo.api.PublishResult\".\x0A\x0DPublishResult\x12\x0E\x0A\x06offset\x18\x01 \x01(\x04\x12\x0D\x0A\x05epoch\x18\x02 \x01(\x09\"\xE5\x01\x0A\x10BroadcastRequest\x12\x10\x0A\x08channels\x18\x01 \x03(\x09\x12\x0C\x0A\x04data\x18\x02 \x01(\x0C\x12\x0F\x0A\x07b64data\x18\x03 \x01(\x09\x12\x14\x0A\x0Cskip_history\x18\x04 \x01(\x08\x12D\x0A\x04tags\x18\x05 \x03(\x0B26.centrifugal.centrifugo.api.BroadcastRequest.TagsEntry\x12\x17\x0A\x0Fidempotency_key\x18\x06 \x01(\x09\x1A+\x0A\x09TagsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\x82\x01\x0A\x11BroadcastResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12;\x0A\x06result\x18\x02 \x01(\x0B2+.centrifugal.centrifugo.api.BroadcastResult\"Q\x0A\x0FBroadcastResult\x12>\x0A\x09responses\x18\x01 \x03(\x0B2+.centrifugal.centrifugo.api.PublishResponse\"\xAD\x02\x0A\x10SubscribeRequest\x12\x0F\x0A\x07channel\x18\x01 \x01(\x09\x12\x0C\x0A\x04user\x18\x02 \x01(\x09\x12\x11\x0A\x09expire_at\x18\x03 \x01(\x03\x12\x0C\x0A\x04info\x18\x04 \x01(\x0C\x12\x0F\x0A\x07b64info\x18\x05 \x01(\x09\x12\x0E\x0A\x06client\x18\x06 \x01(\x09\x12\x0C\x0A\x04data\x18\x07 \x01(\x0C\x12\x0F\x0A\x07b64data\x18\x08 \x01(\x09\x12A\x0A\x0Drecover_since\x18\x09 \x01(\x0B2*.centrifugal.centrifugo.api.StreamPosition\x12E\x0A\x08override\x18\x0A \x01(\x0B23.centrifugal.centrifugo.api.SubscribeOptionOverride\x12\x0F\x0A\x07session\x18\x0B \x01(\x09\"\x82\x01\x0A\x11SubscribeResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12;\x0A\x06result\x18\x02 \x01(\x0B2+.centrifugal.centrifugo.api.SubscribeResult\"\x11\x0A\x0FSubscribeResult\"T\x0A\x12UnsubscribeRequest\x12\x0F\x0A\x07channel\x18\x01 \x01(\x09\x12\x0C\x0A\x04user\x18\x02 \x01(\x09\x12\x0E\x0A\x06client\x18\x03 \x01(\x09\x12\x0F\x0A\x07session\x18\x04 \x01(\x09\"\x86\x01\x0A\x13UnsubscribeResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12=\x0A\x06result\x18\x02 \x01(\x0B2-.centrifugal.centrifugo.api.UnsubscribeResult\"\x13\x0A\x11UnsubscribeResult\"0\x0A\x0ADisconnect\x12\x0C\x0A\x04code\x18\x01 \x01(\x0D\x12\x0E\x0A\x06reason\x18\x02 \x01(\x09J\x04\x08\x03\x10\x04\"\x91\x01\x0A\x11DisconnectRequest\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\x12:\x0A\x0Adisconnect\x18\x02 \x01(\x0B2&.centrifugal.centrifugo.api.Disconnect\x12\x0E\x0A\x06client\x18\x03 \x01(\x09\x12\x11\x0A\x09whitelist\x18\x04 \x03(\x09\x12\x0F\x0A\x07session\x18\x05 \x01(\x09\"\x84\x01\x0A\x12DisconnectResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12<\x0A\x06result\x18\x02 \x01(\x0B2,.centrifugal.centrifugo.api.DisconnectResult\"\x12\x0A\x10DisconnectResult\"\"\x0A\x0FPresenceRequest\x12\x0F\x0A\x07channel\x18\x01 \x01(\x09\"\x80\x01\x0A\x10PresenceResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12:\x0A\x06result\x18\x02 \x01(\x0B2*.centrifugal.centrifugo.api.PresenceResult\"P\x0A\x0AClientInfo\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\x12\x0E\x0A\x06client\x18\x02 \x01(\x09\x12\x11\x0A\x09conn_info\x18\x03 \x01(\x0C\x12\x11\x0A\x09chan_info\x18\x04 \x01(\x0C\"\xB5\x01\x0A\x0EPresenceResult\x12J\x0A\x08presence\x18\x01 \x03(\x0B28.centrifugal.centrifugo.api.PresenceResult.PresenceEntry\x1AW\x0A\x0DPresenceEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x125\x0A\x05value\x18\x02 \x01(\x0B2&.centrifugal.centrifugo.api.ClientInfo:\x028\x01\"'\x0A\x14PresenceStatsRequest\x12\x0F\x0A\x07channel\x18\x01 \x01(\x09\"\x8A\x01\x0A\x15PresenceStatsResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12?\x0A\x06result\x18\x02 \x01(\x0B2/.centrifugal.centrifugo.api.PresenceStatsResult\"=\x0A\x13PresenceStatsResult\x12\x13\x0A\x0Bnum_clients\x18\x01 \x01(\x0D\x12\x11\x0A\x09num_users\x18\x02 \x01(\x0D\"/\x0A\x0EStreamPosition\x12\x0E\x0A\x06offset\x18\x01 \x01(\x04\x12\x0D\x0A\x05epoch\x18\x02 \x01(\x09\"|\x0A\x0EHistoryRequest\x12\x0F\x0A\x07channel\x18\x01 \x01(\x09\x12\x0D\x0A\x05limit\x18\x02 \x01(\x05\x129\x0A\x05since\x18\x03 \x01(\x0B2*.centrifugal.centrifugo.api.StreamPosition\x12\x0F\x0A\x07reverse\x18\x04 \x01(\x08\"~\x0A\x0FHistoryResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x129\x0A\x06result\x18\x02 \x01(\x0B2).centrifugal.centrifugo.api.HistoryResult\"\xCF\x01\x0A\x0BPublication\x12\x0C\x0A\x04data\x18\x02 \x01(\x0C\x124\x0A\x04info\x18\x03 \x01(\x0B2&.centrifugal.centrifugo.api.ClientInfo\x12\x0E\x0A\x06offset\x18\x04 \x01(\x04\x12?\x0A\x04tags\x18\x05 \x03(\x0B21.centrifugal.centrifugo.api.Publication.TagsEntry\x1A+\x0A\x09TagsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"m\x0A\x0DHistoryResult\x12=\x0A\x0Cpublications\x18\x01 \x03(\x0B2'.centrifugal.centrifugo.api.Publication\x12\x0D\x0A\x05epoch\x18\x02 \x01(\x09\x12\x0E\x0A\x06offset\x18\x03 \x01(\x04\"'\x0A\x14HistoryRemoveRequest\x12\x0F\x0A\x07channel\x18\x01 \x01(\x09\"\x8A\x01\x0A\x15HistoryRemoveResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12?\x0A\x06result\x18\x02 \x01(\x0B2/.centrifugal.centrifugo.api.HistoryRemoveResult\"\x15\x0A\x13HistoryRemoveResult\"\x0D\x0A\x0BInfoRequest\"x\x0A\x0CInfoResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x126\x0A\x06result\x18\x02 \x01(\x0B2&.centrifugal.centrifugo.api.InfoResult\"C\x0A\x0AInfoResult\x125\x0A\x05nodes\x18\x01 \x03(\x0B2&.centrifugal.centrifugo.api.NodeResult\",\x0A\x0ARPCRequest\x12\x0E\x0A\x06method\x18\x01 \x01(\x09\x12\x0E\x0A\x06params\x18\x02 \x01(\x0C\"v\x0A\x0BRPCResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x125\x0A\x06result\x18\x02 \x01(\x0B2%.centrifugal.centrifugo.api.RPCResult\"\x19\x0A\x09RPCResult\x12\x0C\x0A\x04data\x18\x01 \x01(\x0C\"q\x0A\x0ERefreshRequest\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\x12\x0E\x0A\x06client\x18\x02 \x01(\x09\x12\x0F\x0A\x07expired\x18\x03 \x01(\x08\x12\x11\x0A\x09expire_at\x18\x04 \x01(\x03\x12\x0C\x0A\x04info\x18\x05 \x01(\x0C\x12\x0F\x0A\x07session\x18\x06 \x01(\x09\"~\x0A\x0FRefreshResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x129\x0A\x06result\x18\x02 \x01(\x0B2).centrifugal.centrifugo.api.RefreshResult\"\x0F\x0A\x0DRefreshResult\"\x84\x02\x0A\x0ANodeResult\x12\x0B\x0A\x03uid\x18\x01 \x01(\x09\x12\x0C\x0A\x04name\x18\x02 \x01(\x09\x12\x0F\x0A\x07version\x18\x03 \x01(\x09\x12\x13\x0A\x0Bnum_clients\x18\x04 \x01(\x0D\x12\x11\x0A\x09num_users\x18\x05 \x01(\x0D\x12\x14\x0A\x0Cnum_channels\x18\x06 \x01(\x0D\x12\x0E\x0A\x06uptime\x18\x07 \x01(\x0D\x124\x0A\x07metrics\x18\x08 \x01(\x0B2#.centrifugal.centrifugo.api.Metrics\x124\x0A\x07process\x18\x09 \x01(\x0B2#.centrifugal.centrifugo.api.Process\x12\x10\x0A\x08num_subs\x18\x0A \x01(\x0D\"\x88\x01\x0A\x07Metrics\x12\x10\x0A\x08interval\x18\x01 \x01(\x01\x12=\x0A\x05items\x18\x02 \x03(\x0B2..centrifugal.centrifugo.api.Metrics.ItemsEntry\x1A,\x0A\x0AItemsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x01:\x028\x01\"#\x0A\x07Process\x12\x0B\x0A\x03cpu\x18\x01 \x01(\x01\x12\x0B\x0A\x03rss\x18\x02 \x01(\x03\"\"\x0A\x0FChannelsRequest\x12\x0F\x0A\x07pattern\x18\x01 \x01(\x09\"\x80\x01\x0A\x10ChannelsResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12:\x0A\x06result\x18\x02 \x01(\x0B2*.centrifugal.centrifugo.api.ChannelsResult\"\xB6\x01\x0A\x0EChannelsResult\x12J\x0A\x08channels\x18\x01 \x03(\x0B28.centrifugal.centrifugo.api.ChannelsResult.ChannelsEntry\x1AX\x0A\x0DChannelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x126\x0A\x05value\x18\x02 \x01(\x0B2'.centrifugal.centrifugo.api.ChannelInfo:\x028\x01\"\"\x0A\x0BChannelInfo\x12\x13\x0A\x0Bnum_clients\x18\x01 \x01(\x0D\"6\x0A\x12ConnectionsRequest\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\x12\x12\x0A\x0Aexpression\x18\x02 \x01(\x09\"\x86\x01\x0A\x13ConnectionsResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12=\x0A\x06result\x18\x02 \x01(\x0B2-.centrifugal.centrifugo.api.ConnectionsResult\"\xC8\x01\x0A\x11ConnectionsResult\x12S\x0A\x0Bconnections\x18\x01 \x03(\x0B2>.centrifugal.centrifugo.api.ConnectionsResult.ConnectionsEntry\x1A^\x0A\x10ConnectionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x129\x0A\x05value\x18\x02 \x01(\x0B2*.centrifugal.centrifugo.api.ConnectionInfo:\x028\x01\"\xA6\x01\x0A\x0EConnectionInfo\x12\x10\x0A\x08app_name\x18\x01 \x01(\x09\x12\x13\x0A\x0Bapp_version\x18\x02 \x01(\x09\x12\x11\x0A\x09transport\x18\x03 \x01(\x09\x12\x10\x0A\x08protocol\x18\x04 \x01(\x09\x12\x0C\x0A\x04user\x18\x08 \x01(\x09\x12:\x0A\x05state\x18\x09 \x01(\x0B2+.centrifugal.centrifugo.api.ConnectionState\"\xE4\x03\x0A\x0FConnectionState\x12K\x0A\x08channels\x18\x01 \x03(\x0B29.centrifugal.centrifugo.api.ConnectionState.ChannelsEntry\x12I\x0A\x10connection_token\x18\x02 \x01(\x0B2/.centrifugal.centrifugo.api.ConnectionTokenInfo\x12`\x0A\x13subscription_tokens\x18\x03 \x03(\x0B2C.centrifugal.centrifugo.api.ConnectionState.SubscriptionTokensEntry\x12\x0C\x0A\x04meta\x18\x04 \x01(\x0C\x1A[\x0A\x0DChannelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x129\x0A\x05value\x18\x02 \x01(\x0B2*.centrifugal.centrifugo.api.ChannelContext:\x028\x01\x1Al\x0A\x17SubscriptionTokensEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12@\x0A\x05value\x18\x02 \x01(\x0B21.centrifugal.centrifugo.api.SubscriptionTokenInfo:\x028\x01\" \x0A\x0EChannelContext\x12\x0E\x0A\x06source\x18\x01 \x01(\x0D\"5\x0A\x13ConnectionTokenInfo\x12\x0B\x0A\x03uid\x18\x01 \x01(\x09\x12\x11\x0A\x09issued_at\x18\x02 \x01(\x03\"7\x0A\x15SubscriptionTokenInfo\x12\x0B\x0A\x03uid\x18\x01 \x01(\x09\x12\x11\x0A\x09issued_at\x18\x02 \x01(\x03\"7\x0A\x17UpdateUserStatusRequest\x12\x0D\x0A\x05users\x18\x01 \x03(\x09\x12\x0D\x0A\x05state\x18\x02 \x01(\x09\"\x90\x01\x0A\x18UpdateUserStatusResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12B\x0A\x06result\x18\x02 \x01(\x0B22.centrifugal.centrifugo.api.UpdateUserStatusResult\"\x18\x0A\x16UpdateUserStatusResult\"%\x0A\x14GetUserStatusRequest\x12\x0D\x0A\x05users\x18\x01 \x03(\x09\"\x8A\x01\x0A\x15GetUserStatusResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12?\x0A\x06result\x18\x02 \x01(\x0B2/.centrifugal.centrifugo.api.GetUserStatusResult\"O\x0A\x13GetUserStatusResult\x128\x0A\x08statuses\x18\x01 \x03(\x0B2&.centrifugal.centrifugo.api.UserStatus\"I\x0A\x0AUserStatus\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\x12\x0E\x0A\x06active\x18\x02 \x01(\x03\x12\x0E\x0A\x06online\x18\x03 \x01(\x03\x12\x0D\x0A\x05state\x18\x04 \x01(\x09\"(\x0A\x17DeleteUserStatusRequest\x12\x0D\x0A\x05users\x18\x01 \x03(\x09\"\x90\x01\x0A\x18DeleteUserStatusResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12B\x0A\x06result\x18\x02 \x01(\x0B22.centrifugal.centrifugo.api.DeleteUserStatusResult\"\x18\x0A\x16DeleteUserStatusResult\"3\x0A\x10BlockUserRequest\x12\x11\x0A\x09expire_at\x18\x01 \x01(\x03\x12\x0C\x0A\x04user\x18\x02 \x01(\x09\"\x11\x0A\x0FBlockUserResult\"\x82\x01\x0A\x11BlockUserResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12;\x0A\x06result\x18\x02 \x01(\x0B2+.centrifugal.centrifugo.api.BlockUserResult\"\"\x0A\x12UnblockUserRequest\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\"\x13\x0A\x11UnblockUserResult\"\x86\x01\x0A\x13UnblockUserResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12=\x0A\x06result\x18\x02 \x01(\x0B2-.centrifugal.centrifugo.api.UnblockUserResult\"4\x0A\x12RevokeTokenRequest\x12\x11\x0A\x09expire_at\x18\x01 \x01(\x03\x12\x0B\x0A\x03uid\x18\x02 \x01(\x09\"\x13\x0A\x11RevokeTokenResult\"\x86\x01\x0A\x13RevokeTokenResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12=\x0A\x06result\x18\x02 \x01(\x0B2-.centrifugal.centrifugo.api.RevokeTokenResult\"f\x0A\x1BInvalidateUserTokensRequest\x12\x11\x0A\x09expire_at\x18\x01 \x01(\x03\x12\x0C\x0A\x04user\x18\x02 \x01(\x09\x12\x15\x0A\x0Dissued_before\x18\x03 \x01(\x03\x12\x0F\x0A\x07channel\x18\x04 \x01(\x09\"\x1C\x0A\x1AInvalidateUserTokensResult\"\x98\x01\x0A\x1CInvalidateUserTokensResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12F\x0A\x06result\x18\x02 \x01(\x0B26.centrifugal.centrifugo.api.InvalidateUserTokensResult\"\xEC\x01\x0A\x15DeviceRegisterRequest\x12\x0A\x0A\x02id\x18\x01 \x01(\x09\x12\x10\x0A\x08provider\x18\x02 \x01(\x09\x12\x0D\x0A\x05token\x18\x03 \x01(\x09\x12\x10\x0A\x08platform\x18\x04 \x01(\x09\x12\x0C\x0A\x04user\x18\x05 \x01(\x09\x12I\x0A\x04meta\x18\x06 \x03(\x0B2;.centrifugal.centrifugo.api.DeviceRegisterRequest.MetaEntry\x12\x0E\x0A\x06topics\x18\x07 \x03(\x09\x1A+\x0A\x09MetaEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xFE\x01\x0A\x13DeviceUpdateRequest\x12\x0B\x0A\x03ids\x18\x01 \x03(\x09\x12\x0D\x0A\x05users\x18\x02 \x03(\x09\x12A\x0A\x0Buser_update\x18\x04 \x01(\x0B2,.centrifugal.centrifugo.api.DeviceUserUpdate\x12A\x0A\x0Bmeta_update\x18\x05 \x01(\x0B2,.centrifugal.centrifugo.api.DeviceMetaUpdate\x12E\x0A\x0Dtopics_update\x18\x06 \x01(\x0B2..centrifugal.centrifugo.api.DeviceTopicsUpdate\"1\x0A\x13DeviceRemoveRequest\x12\x0B\x0A\x03ids\x18\x01 \x03(\x09\x12\x0D\x0A\x05users\x18\x02 \x03(\x09\" \x0A\x10DeviceUserUpdate\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\"\x85\x01\x0A\x10DeviceMetaUpdate\x12D\x0A\x04meta\x18\x01 \x03(\x0B26.centrifugal.centrifugo.api.DeviceMetaUpdate.MetaEntry\x1A+\x0A\x09MetaEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"0\x0A\x12DeviceTopicsUpdate\x12\x0A\x0A\x02op\x18\x01 \x01(\x09\x12\x0E\x0A\x06topics\x18\x02 \x03(\x09\"`\x0A\x0CDeviceFilter\x12\x0B\x0A\x03ids\x18\x01 \x03(\x09\x12\x0D\x0A\x05users\x18\x02 \x03(\x09\x12\x0E\x0A\x06topics\x18\x03 \x03(\x09\x12\x11\x0A\x09providers\x18\x04 \x03(\x09\x12\x11\x0A\x09platforms\x18\x05 \x03(\x09\"\xB7\x01\x0A\x11DeviceListRequest\x128\x0A\x06filter\x18\x01 \x01(\x0B2(.centrifugal.centrifugo.api.DeviceFilter\x12\x1B\x0A\x13include_total_count\x18\x02 \x01(\x08\x12\x14\x0A\x0Cinclude_meta\x18\x03 \x01(\x08\x12\x16\x0A\x0Einclude_topics\x18\x04 \x01(\x08\x12\x0E\x0A\x06cursor\x18\x0A \x01(\x09\x12\x0D\x0A\x05limit\x18\x0B \x01(\x05\"\x97\x01\x0A\x11DeviceTopicFilter\x12\x12\x0A\x0Adevice_ids\x18\x01 \x03(\x09\x12\x18\x0A\x10device_providers\x18\x02 \x03(\x09\x12\x18\x0A\x10device_platforms\x18\x03 \x03(\x09\x12\x14\x0A\x0Cdevice_users\x18\x04 \x03(\x09\x12\x0E\x0A\x06topics\x18\x05 \x03(\x09\x12\x14\x0A\x0Ctopic_prefix\x18\x06 \x01(\x09\"\xAB\x01\x0A\x16DeviceTopicListRequest\x12=\x0A\x06filter\x18\x01 \x01(\x0B2-.centrifugal.centrifugo.api.DeviceTopicFilter\x12\x1B\x0A\x13include_total_count\x18\x02 \x01(\x08\x12\x16\x0A\x0Einclude_device\x18\x03 \x01(\x08\x12\x0E\x0A\x06cursor\x18\x0A \x01(\x09\x12\x0D\x0A\x05limit\x18\x0B \x01(\x05\"F\x0A\x0FUserTopicFilter\x12\x0D\x0A\x05users\x18\x01 \x03(\x09\x12\x0E\x0A\x06topics\x18\x02 \x03(\x09\x12\x14\x0A\x0Ctopic_prefix\x18\x03 \x01(\x09\"\x8F\x01\x0A\x14UserTopicListRequest\x12;\x0A\x06filter\x18\x01 \x01(\x0B2+.centrifugal.centrifugo.api.UserTopicFilter\x12\x1B\x0A\x13include_total_count\x18\x02 \x01(\x08\x12\x0E\x0A\x06cursor\x18\x0A \x01(\x09\x12\x0D\x0A\x05limit\x18\x0B \x01(\x05\"I\x0A\x18DeviceTopicUpdateRequest\x12\x11\x0A\x09device_id\x18\x01 \x01(\x09\x12\x0A\x0A\x02op\x18\x02 \x01(\x09\x12\x0E\x0A\x06topics\x18\x03 \x03(\x09\"B\x0A\x16UserTopicUpdateRequest\x12\x0C\x0A\x04user\x18\x01 \x01(\x09\x12\x0A\x0A\x02op\x18\x02 \x01(\x09\x12\x0E\x0A\x06topics\x18\x03 \x03(\x09\"\x8C\x01\x0A\x16DeviceRegisterResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12@\x0A\x06result\x18\x02 \x01(\x0B20.centrifugal.centrifugo.api.DeviceRegisterResult\"\x88\x01\x0A\x14DeviceUpdateResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12>\x0A\x06result\x18\x02 \x01(\x0B2..centrifugal.centrifugo.api.DeviceUpdateResult\"\x88\x01\x0A\x14DeviceRemoveResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12>\x0A\x06result\x18\x02 \x01(\x0B2..centrifugal.centrifugo.api.DeviceRemoveResult\"\x84\x01\x0A\x12DeviceListResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12<\x0A\x06result\x18\x02 \x01(\x0B2,.centrifugal.centrifugo.api.DeviceListResult\"\x8E\x01\x0A\x17DeviceTopicListResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12A\x0A\x06result\x18\x02 \x01(\x0B21.centrifugal.centrifugo.api.DeviceTopicListResult\"\x8A\x01\x0A\x15UserTopicListResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12?\x0A\x06result\x18\x02 \x01(\x0B2/.centrifugal.centrifugo.api.UserTopicListResult\"\x92\x01\x0A\x19DeviceTopicUpdateResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12C\x0A\x06result\x18\x02 \x01(\x0B23.centrifugal.centrifugo.api.DeviceTopicUpdateResult\"\x8E\x01\x0A\x17UserTopicUpdateResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12A\x0A\x06result\x18\x02 \x01(\x0B21.centrifugal.centrifugo.api.UserTopicUpdateResult\"\"\x0A\x14DeviceRegisterResult\x12\x0A\x0A\x02id\x18\x01 \x01(\x09\"\x14\x0A\x12DeviceUpdateResult\"\x14\x0A\x12DeviceRemoveResult\"o\x0A\x10DeviceListResult\x121\x0A\x05items\x18\x01 \x03(\x0B2\".centrifugal.centrifugo.api.Device\x12\x13\x0A\x0Bnext_cursor\x18\x02 \x01(\x09\x12\x13\x0A\x0Btotal_count\x18\x03 \x01(\x03\"\xF6\x01\x0A\x06Device\x12\x0A\x0A\x02id\x18\x01 \x01(\x09\x12\x10\x0A\x08platform\x18\x02 \x01(\x09\x12\x10\x0A\x08provider\x18\x03 \x01(\x09\x12\x0D\x0A\x05token\x18\x04 \x01(\x09\x12\x0C\x0A\x04user\x18\x05 \x01(\x09\x12\x12\x0A\x0Acreated_at\x18\x06 \x01(\x03\x12\x12\x0A\x0Aupdated_at\x18\x07 \x01(\x03\x12:\x0A\x04meta\x18\x0A \x03(\x0B2,.centrifugal.centrifugo.api.Device.MetaEntry\x12\x0E\x0A\x06topics\x18\x0B \x03(\x09\x1A+\x0A\x09MetaEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"y\x0A\x15DeviceTopicListResult\x126\x0A\x05items\x18\x01 \x03(\x0B2'.centrifugal.centrifugo.api.DeviceTopic\x12\x13\x0A\x0Bnext_cursor\x18\x02 \x01(\x09\x12\x13\x0A\x0Btotal_count\x18\x03 \x01(\x03\"\\\x0A\x0BDeviceTopic\x12\x0A\x0A\x02id\x18\x01 \x01(\x09\x12\x0D\x0A\x05topic\x18\x02 \x01(\x09\x122\x0A\x06device\x18\x03 \x01(\x0B2\".centrifugal.centrifugo.api.Device\"u\x0A\x13UserTopicListResult\x124\x0A\x05items\x18\x01 \x03(\x0B2%.centrifugal.centrifugo.api.UserTopic\x12\x13\x0A\x0Bnext_cursor\x18\x02 \x01(\x09\x12\x13\x0A\x0Btotal_count\x18\x03 \x01(\x03\"\x19\x0A\x17DeviceTopicUpdateResult\"\x17\x0A\x15UserTopicUpdateResult\"4\x0A\x09UserTopic\x12\x0A\x0A\x02id\x18\x01 \x01(\x09\x12\x0C\x0A\x04user\x18\x02 \x01(\x09\x12\x0D\x0A\x05topic\x18\x03 \x01(\x09\"\xDA\x01\x0A\x0DPushRecipient\x128\x0A\x06filter\x18\x01 \x01(\x0B2(.centrifugal.centrifugo.api.DeviceFilter\x12\x12\x0A\x0Afcm_tokens\x18\x02 \x03(\x09\x12\x11\x0A\x09fcm_topic\x18\x03 \x01(\x09\x12\x15\x0A\x0Dfcm_condition\x18\x04 \x01(\x09\x12\x12\x0A\x0Ahms_tokens\x18\x05 \x03(\x09\x12\x11\x0A\x09hms_topic\x18\x06 \x01(\x09\x12\x15\x0A\x0Dhms_condition\x18\x07 \x01(\x09\x12\x13\x0A\x0Bapns_tokens\x18\x08 \x03(\x09\"\xE1\x01\x0A\x10PushNotification\x12<\x0A\x03fcm\x18\x01 \x01(\x0B2/.centrifugal.centrifugo.api.FcmPushNotification\x12<\x0A\x03hms\x18\x02 \x01(\x0B2/.centrifugal.centrifugo.api.HmsPushNotification\x12>\x0A\x04apns\x18\x03 \x01(\x0B20.centrifugal.centrifugo.api.ApnsPushNotification\x12\x11\x0A\x09expire_at\x18\x05 \x01(\x03\"&\x0A\x13FcmPushNotification\x12\x0F\x0A\x07message\x18\x01 \x01(\x0C\"&\x0A\x13HmsPushNotification\x12\x0F\x0A\x07message\x18\x01 \x01(\x0C\"\xA7\x01\x0A\x14ApnsPushNotification\x12N\x0A\x07headers\x18\x01 \x03(\x0B2=.centrifugal.centrifugo.api.ApnsPushNotification.HeadersEntry\x12\x0F\x0A\x07payload\x18\x02 \x01(\x0C\x1A.\x0A\x0CHeadersEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xBD\x01\x0A\x1BSendPushNotificationRequest\x12<\x0A\x09recipient\x18\x01 \x01(\x0B2).centrifugal.centrifugo.api.PushRecipient\x12B\x0A\x0Cnotification\x18\x02 \x01(\x0B2,.centrifugal.centrifugo.api.PushNotification\x12\x0B\x0A\x03uid\x18\x03 \x01(\x09\x12\x0F\x0A\x07send_at\x18\x04 \x01(\x03\"\x98\x01\x0A\x1CSendPushNotificationResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12F\x0A\x06result\x18\x02 \x01(\x0B26.centrifugal.centrifugo.api.SendPushNotificationResult\")\x0A\x1ASendPushNotificationResult\x12\x0B\x0A\x03uid\x18\x01 \x01(\x09\"Y\x0A\x17UpdatePushStatusRequest\x12\x0B\x0A\x03uid\x18\x01 \x01(\x09\x12\x0E\x0A\x06status\x18\x02 \x01(\x09\x12\x11\x0A\x09device_id\x18\x03 \x01(\x09\x12\x0E\x0A\x06msg_id\x18\x04 \x01(\x09\"\x90\x01\x0A\x18UpdatePushStatusResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12B\x0A\x06result\x18\x02 \x01(\x0B22.centrifugal.centrifugo.api.UpdatePushStatusResult\"\x18\x0A\x16UpdatePushStatusResult\" \x0A\x11CancelPushRequest\x12\x0B\x0A\x03uid\x18\x01 \x01(\x09\"\x84\x01\x0A\x12CancelPushResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12<\x0A\x06result\x18\x02 \x01(\x0B2,.centrifugal.centrifugo.api.CancelPushResult\"\x12\x0A\x10CancelPushResult\"\x12\x0A\x10RateLimitRequest\"\x82\x01\x0A\x11RateLimitResponse\x120\x0A\x05error\x18\x01 \x01(\x0B2!.centrifugal.centrifugo.api.Error\x12;\x0A\x06result\x18\x02 \x01(\x0B2+.centrifugal.centrifugo.api.RateLimitResult\"\x11\x0A\x0FRateLimitResult2\xD4\x1E\x0A\x0DCentrifugoApi\x12^\x0A\x05Batch\x12(.centrifugal.centrifugo.api.BatchRequest\x1A).centrifugal.centrifugo.api.BatchResponse\"\x00\x12d\x0A\x07Publish\x12*.centrifugal.centrifugo.api.PublishRequest\x1A+.centrifugal.centrifugo.api.PublishResponse\"\x00\x12j\x0A\x09Broadcast\x12,.centrifugal.centrifugo.api.BroadcastRequest\x1A-.centrifugal.centrifugo.api.BroadcastResponse\"\x00\x12j\x0A\x09Subscribe\x12,.centrifugal.centrifugo.api.SubscribeRequest\x1A-.centrifugal.centrifugo.api.SubscribeResponse\"\x00\x12p\x0A\x0BUnsubscribe\x12..centrifugal.centrifugo.api.UnsubscribeRequest\x1A/.centrifugal.centrifugo.api.UnsubscribeResponse\"\x00\x12m\x0A\x0ADisconnect\x12-.centrifugal.centrifugo.api.DisconnectRequest\x1A..centrifugal.centrifugo.api.DisconnectResponse\"\x00\x12g\x0A\x08Presence\x12+.centrifugal.centrifugo.api.PresenceRequest\x1A,.centrifugal.centrifugo.api.PresenceResponse\"\x00\x12v\x0A\x0DPresenceStats\x120.centrifugal.centrifugo.api.PresenceStatsRequest\x1A1.centrifugal.centrifugo.api.PresenceStatsResponse\"\x00\x12d\x0A\x07History\x12*.centrifugal.centrifugo.api.HistoryRequest\x1A+.centrifugal.centrifugo.api.HistoryResponse\"\x00\x12v\x0A\x0DHistoryRemove\x120.centrifugal.centrifugo.api.HistoryRemoveRequest\x1A1.centrifugal.centrifugo.api.HistoryRemoveResponse\"\x00\x12[\x0A\x04Info\x12'.centrifugal.centrifugo.api.InfoRequest\x1A(.centrifugal.centrifugo.api.InfoResponse\"\x00\x12X\x0A\x03RPC\x12&.centrifugal.centrifugo.api.RPCRequest\x1A'.centrifugal.centrifugo.api.RPCResponse\"\x00\x12d\x0A\x07Refresh\x12*.centrifugal.centrifugo.api.RefreshRequest\x1A+.centrifugal.centrifugo.api.RefreshResponse\"\x00\x12g\x0A\x08Channels\x12+.centrifugal.centrifugo.api.ChannelsRequest\x1A,.centrifugal.centrifugo.api.ChannelsResponse\"\x00\x12p\x0A\x0BConnections\x12..centrifugal.centrifugo.api.ConnectionsRequest\x1A/.centrifugal.centrifugo.api.ConnectionsResponse\"\x00\x12\x7F\x0A\x10UpdateUserStatus\x123.centrifugal.centrifugo.api.UpdateUserStatusRequest\x1A4.centrifugal.centrifugo.api.UpdateUserStatusResponse\"\x00\x12v\x0A\x0DGetUserStatus\x120.centrifugal.centrifugo.api.GetUserStatusRequest\x1A1.centrifugal.centrifugo.api.GetUserStatusResponse\"\x00\x12\x7F\x0A\x10DeleteUserStatus\x123.centrifugal.centrifugo.api.DeleteUserStatusRequest\x1A4.centrifugal.centrifugo.api.DeleteUserStatusResponse\"\x00\x12j\x0A\x09BlockUser\x12,.centrifugal.centrifugo.api.BlockUserRequest\x1A-.centrifugal.centrifugo.api.BlockUserResponse\"\x00\x12p\x0A\x0BUnblockUser\x12..centrifugal.centrifugo.api.UnblockUserRequest\x1A/.centrifugal.centrifugo.api.UnblockUserResponse\"\x00\x12p\x0A\x0BRevokeToken\x12..centrifugal.centrifugo.api.RevokeTokenRequest\x1A/.centrifugal.centrifugo.api.RevokeTokenResponse\"\x00\x12\x8B\x01\x0A\x14InvalidateUserTokens\x127.centrifugal.centrifugo.api.InvalidateUserTokensRequest\x1A8.centrifugal.centrifugo.api.InvalidateUserTokensResponse\"\x00\x12y\x0A\x0EDeviceRegister\x121.centrifugal.centrifugo.api.DeviceRegisterRequest\x1A2.centrifugal.centrifugo.api.DeviceRegisterResponse\"\x00\x12s\x0A\x0CDeviceUpdate\x12/.centrifugal.centrifugo.api.DeviceUpdateRequest\x1A0.centrifugal.centrifugo.api.DeviceUpdateResponse\"\x00\x12s\x0A\x0CDeviceRemove\x12/.centrifugal.centrifugo.api.DeviceRemoveRequest\x1A0.centrifugal.centrifugo.api.DeviceRemoveResponse\"\x00\x12m\x0A\x0ADeviceList\x12-.centrifugal.centrifugo.api.DeviceListRequest\x1A..centrifugal.centrifugo.api.DeviceListResponse\"\x00\x12|\x0A\x0FDeviceTopicList\x122.centrifugal.centrifugo.api.DeviceTopicListRequest\x1A3.centrifugal.centrifugo.api.DeviceTopicListResponse\"\x00\x12\x82\x01\x0A\x11DeviceTopicUpdate\x124.centrifugal.centrifugo.api.DeviceTopicUpdateRequest\x1A5.centrifugal.centrifugo.api.DeviceTopicUpdateResponse\"\x00\x12v\x0A\x0DUserTopicList\x120.centrifugal.centrifugo.api.UserTopicListRequest\x1A1.centrifugal.centrifugo.api.UserTopicListResponse\"\x00\x12|\x0A\x0FUserTopicUpdate\x122.centrifugal.centrifugo.api.UserTopicUpdateRequest\x1A3.centrifugal.centrifugo.api.UserTopicUpdateResponse\"\x00\x12\x8B\x01\x0A\x14SendPushNotification\x127.centrifugal.centrifugo.api.SendPushNotificationRequest\x1A8.centrifugal.centrifugo.api.SendPushNotificationResponse\"\x00\x12\x7F\x0A\x10UpdatePushStatus\x123.centrifugal.centrifugo.api.UpdatePushStatusRequest\x1A4.centrifugal.centrifugo.api.UpdatePushStatusResponse\"\x00\x12m\x0A\x0ACancelPush\x12-.centrifugal.centrifugo.api.CancelPushRequest\x1A..centrifugal.centrifugo.api.CancelPushResponse\"\x00\x12j\x0A\x09RateLimit\x12,.centrifugal.centrifugo.api.RateLimitRequest\x1A-.centrifugal.centrifugo.api.RateLimitResponse\"\x00BgZ\x11centrifugo/api/v1\xCA\x02!RoadRunner\\Centrifugal\\API\\DTO\\V1\xE2\x02-RoadRunner\\Centrifugal\\API\\DTO\\V1\\GPBMetadatab\x06proto3"
        , true);

        static::$is_initialized = true;
    }
}

