need a StringPiece implementationintegratefmtlib
to replace calls tofolly::format
.
- split this into a separate
score_encoding
library. - convert current
EncodingNormalizer
to a stream-based interface; move existing one-shot interface (handling single input buffer -> single output buffer) to a wrapper class. - consider replacing vendored Libcharsetdetect with Google's compact_enc_det. Seems like cleaner code and has better licensing - but haven't checked if it covers as many encodings.
- split into separate score_hash library.
- need lift/drop on
STFuture.then()
handlers (unwrapping of future-typed return values) - MTPromise/MTFuture implementations
- cpu thread pool implementation
- if sticking with current implementation, make it more efficient. It's currently hierarchical, but not hashed. Resolution is also unnecessarily high: I've seen others use just 32 bits per timeout value.
- consider adapting third party implementation: either Folly's HHTimerWheel, or the
timeout
library here.
- convert EventCurler to use an EventHandler object with onRead/etc handlers; move existing on-done-callback interface to a wrapper class
- convert the current (and convoluted) callback-based search to use BFS+DFS iterator classes
- switch most of the string matching parts here to use RE2
Complete integration of score::nlp::Language with CLD2. CLD2 wrapper should only return the score Language type.- Need easier conversion between all of: language code (char*), English human-friendly language name,
score::nlp::Language
type.
- Add async client
- Add mget/mset to sync client.
- LLRedisClient: still missing a few commands (listed in the LLRedisClient header).
- Not currently handling get/set of binary data types (hiredis has built-in support for this with the
%b
format arg).
- create high-level (but still callback-based) wrapper around LLRedisClient.
- should narrow returned types from
RedisDynamicResponse
based on the type of call: e.g. a call tollen
can call back with aTry<int>
instead of the generalRedisDynamicResponse
. - add corresponding high-level RedisSubscription type, which should convert the RedisDynamicResponse into a more meaningful
Message
type. - multi/pipeline interface
score_dns
: I have a working libevent adapter for libcares in theevscratch
repo. Another option is this library, which seems lighter-weight. Unclear if this covers all of DNS protocol. Also unclear how simple it is to integrate with libevent. The main motivation for using that over cares: cares seems to do a lot of things behind the scenes, like managing its own thread pool. I consider this rude.- also have proof-of-concept implementations of zmq and libssh2 integration in
evscratch
repo.