valeriansaliou/sonic

Make all commands ASYNC (dispatch to worker thread pool)

开放

#43 创建于 2019年3月15日

 (7 条评论) (0 个反应) (0 位负责人)Rust (613 个派生)batch import
enhancementfeat:ingesthelp wanted

仓库指标

星标
 (21,176 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Currently, commands are processed synchronously in the channel thread. This limits parallelization on setups that open very few Sonic Channel instances, but where Sonic runs on a lot of CPUs. Currently 1 channel = 1 thread; but we'd like to make the channel protocol fully asynchronous and thus Sonic will be able to dispatch commands for work to a thread pool.

We just need to figure out how we can rework the protocol so that a RES for a REQ can be caught later on (eg. with a marker ID as we already do for search queries with PENDING?).

贡献者指南