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?).

貢獻者指南