neo-alpha-3
Pre-releaseInitial tsunami alpha release of the DHT neo protocol.
The release notes below note changes versus the internal neo-alpha-2
release.
https://github.com/sociomantic-tsunami/dhtproto/milestone/2
Migration Instructions
-
dhtproto.client.request.Get
The notification union for Get requests now includes an additional field:
timed_out
. Get notifiers should be updated to handle this field (a simple
case timed_out: break;
is sufficient, if your application is not using Get
timeouts). -
dhtproto.client.DhtClient : Neo
,dhtproto.client.request.Mirror
The API of the Mirror request has changed such that it is no longer possible
to start a Mirror request which does not stream live updates from the node to
the client. TheSettings.live_updates
flag has been removed, along with the
finished
notification. Now, the only way for a Mirror request to end is if
the user stops it (or the channel being mirrorred is removed).
New Features
-
dhtproto.client.DhtClient : Neo
,dhtproto.client.request.GetAll
The new GetAll request provides a way to fetch a snapshot of all records in a
channel. If the request is interrupted (e.g. by a connection error), it is
automatically restarted and continues where it left off. -
dhtproto.client.DhtClient : Neo
The
get
method now accepts an optional argument of typeNeo.Get.Timeout
,
specifying a milliseconds timeout value. If the request has not completed
before the timeout expires, the request is aborted and the notifier called
with thetimed_out
notification. -
dhtproto.client.request.Mirror
A new notification type --
updates_lost
-- has been added. The node sends
this notification to the client when its internal queue of updates to be sent
overflows. This means that at least one update has not been sent to the
mirroring client and indicates that there's a disparity between the rate at
which updates are being made to the mirrored channel and the rate at which the
Mirror request is able to inform the client of these updates.