Skip to content

neo-alpha-3

Pre-release
Pre-release
Compare
Choose a tag to compare
@gavin-norman-sociomantic gavin-norman-sociomantic released this 08 Aug 11:00
· 327 commits to v15.x.x since this release

Initial 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. The Settings.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 type Neo.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 the timed_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.