gnunet-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNUnet-developers] Wrapping GNUnet in ruby


From: Christian Grothoff
Subject: Re: [GNUnet-developers] Wrapping GNUnet in ruby
Date: Mon, 08 Jul 2013 18:31:40 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12

On 07/04/2013 09:24 PM, Peter Schrammel wrote:
> Hi,
> 
> there will be Hackathon in a week where I'd like to lay the basics for
> a ruby framework over GNUnet (see
> http://www.meetup.com/Munich-Rubyshift-Ruby-User-Group/events/125381152/
> or the Gnunet page).
> 
> 1. You are welcome to drop by and help us to understand the concepts
> of gnunet better. Just mail me if you need more info.
> 
> 2. I don't want to go to C level und call back ruby from C (possible
> but too hard coupled and might frighten people). As far as I have seen
> there's a socket based interface (gnunet-java uses it). Do I get all
> messages over this interface? What's not possible? Is this still the
> right aproach?

Well, you theoretically get access to everything using this approach.  The
only subsystem where this causes trouble is file-sharing, as a significant
part of the logic is implemented on the client-side of the socket (the
file-sharing service moves encrypted blocks around, the client-side does
everything that is needed to put the files back together from the blocks).
As a result, 75% of the FS-logic is probably in the client library.

For all of the other services, it is the case that > 75% of the logic are
in the service itself, and the client library is just a tiny wrapper
providing a C API.  So unless you want access to the FS service, the
socket-based interface is what you want; however, while the socket
APIs tend to be simple messages, they also tend to be not very well
documented (as in: "read the C code to understand how it works").

Naturally, improvements to that documentation would be appreciated ;-).


Happy hacking!

Christian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]