The weekly work log posts report about my activities during the previous week(s).
New developments
- tractor - Actor framework for Rust modelled after Pony’s actors:
After having used several of the other Actor frameworks for Rust (e.g.
xtra
,xactor
orActeur
), I started writing my own. Actors intractor
cannot deadlock as they do not support any blocking operations. Furthermore, sending a message to an actor can never fail intractor
, as holding a reference to an actor will prevent that actor from being stopped. Actors will terminate once no more references exist and it’s mailbox is empty. It also ships with a nice#[actor]
proc_macro
, actually my firstproc_macro
ever. This allows you to write very concise code and let the macro generate all the boilerplate code for you.
Pull requests (PR)
Ponyc #3707: Fix calculation of # CPU cores on FreeBSD/DragonFly. Pony uses the number of CPU cores (and not number of logical CPUs which include hyperthreads) to size the number of scheduler threads. On my i7-8565U, which is a 4-core, 2-way HT processor, Pony was using 8 scheduler threads instead of just 4. The benchmarks I was running at that time showed very significant increase of latency when using 8 scheduler threads vs just 4. (PR merged)
async-jsonrpc-client #12: This PR adds support for async-std via
surf
. (PR merged)rumqtt #239 and rumqtt #240:
rumqtt
is a MQTT library for Rust. The first PR fixes somepanic
s and improves performance and memory consumption. The second PR allows to retrieve thepkid
(paket id) thatrumqttc
internally generates when a message is published. This is useful to correlate a message with it’spkid
and enables a client to know when a certain message has been acknowledged by the broker (QoS=1 or QoS=2). (PR pending)
Releases
Carbon Components for SolidJS 0.0.9. Lots of new components were ported since the initial release. See the Changelog.
Graph Neighbor Matching 0.9.0: New release that updates dependencies and contains some code refactorings.
xtra-addons 0.0.2: The
xtra-addons
crate contains add-on functionality (Broker
andRegistry
) for the xtra actor framework for Rust.graph-io-gml 0.3.0: This is a loader for GML (Graph Modelling Language) files. Version 0.3.0 updates dependencies, uses
?
instead oftry!
, and it is now using Cargo edition 2018. The library goes back to January 2016.serde-key-value-vec-map 0.1.0: Deserialize maps or JSON objects in
serde
to structs that implement theFromKeyValue
trait.
Reported Bugs/Issues
- Ponyc #3708: Report that
ponyc fails to compile on FreeBSD 12.2
.