Building Brunet and BasicNode on .NET

9 views
Skip to first unread message

interfect

unread,
Jun 19, 2010, 1:46:26 PM6/19/10
to acis.p2p.users
I'm looking for a simple DHT library for .NET, and I think Brunet is
just what I need. I'm having bit of trouble building it on
Microsoft's compiler--the references to Mono.Unix don't compile, and I
get an overflow in the BigInt library (I'm building for 32 bit on a 64
bit machine, if that's any help). I've managed to get it working by
using the binary release DLLs and only building Brunet.Applications
from source, but for some reason I can only get/put in the DHT by
memblocks, which doesn't agree with the doxygen docs.

Does anyone know what source files I need to build only Brunet and
BasicNode? Are there specific steps required to build on Microsoft's
compiler? Or, better yet, does anyone have a binary release including
BasicNode?

David Isaac Wolinsky

unread,
Jun 21, 2010, 10:31:12 PM6/21/10
to acisp2...@googlegroups.com
Here's an updated doxygen:
http://www.grid-appliance.org/documentation/da/d33/interfaceBrunet_1_1Services_1_1Dht_1_1IDht.html

I'm not sure where you were looking before, but it must be very out of
date. The DHT hasn't supported byte and string operations in a long
time. MemBlocks are like ArraySegments (before ArraySegments existed),
they are also immutable (cannot be changed after creating). Though you
can cast into and out of MemBlocks from byte arrays transparently.

From a lot of perspectives it would make sense to only support a byte
array interface, but since most of our other code uses MemBlocks, we
only support MemBlocks. I prefer as few methods in my APIs as possible.

We should probably start using Mono's BigInt library since its
significantly better than it was when we pulled in their code. Could
you share the message you get with the overflow? Is that only when
compiling?

Properly supporting compilation in Windows (and explicitly .NET) is an
on going issue. For example, if a user were to compile in Windows, some
Unix features would be broken. Fortunately, compiling in Linux, we can
build Windows components without issue.

We do have binaries:
http://www.grid-appliance.org/wiki/index.php/IPOP#Software:_Current_Release

There is no "BasicNode", its functionality along with MultiNode are in
P2PNode.exe. Apologies for the confusion, we have much documentation
trailing implementation :(.

Here's the current version of the BasicNodeReadme:
http://www.grid-appliance.org/wiki/index.php/BasicNodeReadme

Let me know if there's anything else we can do to help.

Regards,
David

Reply all
Reply to author
Forward
0 new messages