revitalize netbox api
Long story short, net.box
connector is a legacy. It was ported from lua implementation (with all it's drawbacks). Some of features are already considered outdated, and some even harmful (reconnect_after
). Let's revitalize it.
-
Split the code into the following parts:
-
sans-io (protocol handling) - layer 1 -
io (tarantool-based client, optional) - layer 2 -
reconnecting client (tarantool-based) - layer 3 -
pool (collection of auto-reconnecting clients)- layer 4. It will be implemented as part of picodata#227 (closed) in picodata.
-
-
Make api async using results of #22 (closed) -
Remove reconnect_after
option support and all related FSM stuff. -
Don't implement remote schema support yet -
Eliminate the use of blocking std::net::to_socket_addr
(#81 (closed)). -
Implement tarantool's(deprecated in Tarantool 3.0)box.session.push
feature support -
Implement tarantool's conn:watch
feature support. (#143) -
Compare performance with original rust implementation and with lua. -
Implement external schema provider based on clusterwide ddl
Bonus:
- Adopt new type of error responses. See also corresponding MessagePack ERROR extension.
See also