Skip to content

Releases: sociomantic-tsunami/dhtproto

v14.6.3 auto-converted to D2

v14.6.3

26 Sep 10:18
Compare
Choose a tag to compare

v15.0.2

13 Aug 10:52
Compare
Choose a tag to compare

https://github.com/sociomantic-tsunami/dhtproto/milestone/49?closed=1

  • Fix non-public imports to allow compilation with DMD 2.087 #214

v15.0.1

06 Aug 14:52
Compare
Choose a tag to compare
  • Fix missing 'import ocean.transition' #213

v14.6.2

06 Aug 14:52
Compare
Choose a tag to compare

v15.0.0

04 Jun 08:38
Compare
Choose a tag to compare

https://github.com/sociomantic-tsunami/dhtproto/milestone/22?closed=1

Request getters return values via delegates

dhtproto.node.request.Get, dhtproto.node.request.GetChannelSize,
dhtproto.node.request.GetChannels, dhtproto.node.request.GetNumConnections,
dhtproto.node.request.GetResponsibleRange, dhtproto.node.request.GetSize,
fakedht.request.Get, fakedht.request.GetChannelSize,
fakedht.request.GetChannels, fakedht.request.GetNumConnections,
fakedht.request.GetResponsibleRange, fakedht.request.GetSize

This improves performance by reducing by one the number of times the
value(s) gets copied before being returned.

Neo node request classes now implement IRequest

dhtproto.node.neo.request.Exists, dhtproto.node.neo.request.Get,
dhtproto.node.neo.request.GetAll,dhtproto.node.neo.request.GetChannels,
dhtproto.node.neo.request.GetHashRange, dhtproto.node.neo.request.Mirror,
dhtproto.node.neo.request.Put, dhtproto.node.neo.request.Remove,
dhtproto.node.neo.request.RemoveChannels, dhtproto.node.neo.request.Update

All classes handling neo node requests now implement the IRequest interface in
the module swarm.neo.node.IRequest. As enforced by the IRequest interface's
definition, these classes implement the handle method. As these classes do not
implement the IRequestHandler interface, the methods preSupportedCodeSent
and postSupportedCodeSent methods are not implemented here anymore.

The method Put.recordSizeLimit has been made abstract

dhtproto.node.request.Put

The method dhtproto.node.request.Put.recordSizeLimit has been made abstract.
Classes derived from the abstract class dhtproto.node.request.Put.Put are
expected to implement the recordSizeLimit() method.

The constant RecordSizeLimit has been removed

dhtproto.client.legacy.DhtConst

The constant dhtproto.client.legacy.DhtConst.DhtConst.RecordSizeLimit has been
removed.

The template SerializeMethod has been removed

dhtproto.client.NotifierTypes

The template dhtproto.client.NotifierTypes.SerializeMethod has been removed.
Please use the template swarm.neo.client.mixins.SerializeMethod instead.

dhtproto.util.Verify module has been removed

dhtproto.util.Verify

The dhtproto.util.Verify module has been removed. Please use
'ocean.core.Verify` instead.

Simple methods to connect to a node or cluster

dhtproto.client.mixins.NeoSupport

The blocking API now has three additional methods named connect. These add
either a single node (specified either by address & port or purely by port) or
a cluster of nodes (specified by a config file) to the registry, and then blocks
the current Task until the hash range of all nodes has been fetched.

These new methods are intended to simplify use of the DHT client in test code
and scripts.

New, ultra-minimal client ctor for use in scripts/tests

dhtproto.client.DhtClient

The existing constructors require an epoll instance and various user-specified
configuration settings. The newly added constructor allows a DHT client to be
instantiated with no configuration whatsoever:

auto dht = new DhtClient; // uses Task-scheduler's epoll instance

This greatly reduces the amount of boilerplate required to use a DHT client in
a script or test.

Neo protocol is now mainstream

dhtproto.client.DhtClient

The DHT client now has the facility to use the neo protocol. For full
documentation on the DHT neo protocol and requests, see
dhtproto.client.README.md.

neo-v0.12.1

22 May 13:06
Compare
Choose a tag to compare

https://github.com/sociomantic-tsunami/dhtproto/milestone/46?closed=1

  • Revert Revert "Merge tag 'neo-v0.11.0' into v14.x.x" #201 (i.e. reanimate neo)

neo-v0.12.0

22 May 10:02
Compare
Choose a tag to compare

neo-v0.12.1 auto-converted to D2

neo-v0.12.0 auto-converted to D2