connection.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:litecord-reference 作者: lnmds 项目源码 文件源码
def __init__(self, ws, **kwargs):
        super().__init__(ws)
        self.ws = ws
        self.loop = ws.loop
        self.options = kwargs['config']
        self.server = kwargs['server']

        self.state = None
        self.session_id = None

        self._encoder, self._decoder = get_data_handlers(self.options[1])

        # Client's heartbeat interval, chose at random between 40 and 42sec
        self.hb_interval = random.randint(HB_MIN_MSEC, HB_MAX_MSEC)
        self.wait_task = None

        # ratelimiting tasks that clean the request counter
        self.ratelimit_tasks = {}
        self.request_counter = {}

        # some flags for the client etc
        self.identified = False
        self.dispatch_lock = asyncio.Lock()

        # references to objects
        self.guild_man = self.server.guild_man
        self.presence = self.server.presence
        self.relations = self.server.relations
        self.settings = self.server.settings

        _o = Optional
        self.identify_schema = Schema({
            'token': str,
            'properties': dict,
            _o('compress'): bool,
            'large_threshold': int,
            'shard': list,
        }, extra=REMOVE_EXTRA)

        self.resume_schema = Schema({
            'token': str,
            'session_id': str,
            'seq': int
        }, extra=REMOVE_EXTRA)

        self.req_guild_schema = Schema({
            'guild_id': str,
            'query': str,
            'limit': int,
        }, extra=REMOVE_EXTRA)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号