On Tuesday, October 01, 2013 06:50:31 AM you wrote: 
> Hi p0s,
> 
> source code is http://github.com/Bombe/Sone/, main WoT package is
> net.pterodactylus.sone.freenet.wot, FCP communication is in
> net.pterodactylus.sone.freenet.fcp, and there’s probably something in
> net.pterodactylus.sone.freenet.plugin, too.

Thanks.
What I first noticed is that you already are using some kind of event-bus:
https://github.com/Bombe/Sone/tree/master/src/main/java/net/pterodactylus/sone/freenet/wot/event

So Sone is a good candidate for becoming the first client application which is 
ported to use the new event-notifications code of WOT once it is finished.

And luckily, all event types in your packare are already implemented at event-
notifications in WOT, which makes it even more suitable for becoming the first 
client.

FYI the state of event-notifications is the following:
- The core of is basically finished / in an executable state, it only lacks 
proper
shutdown mechanisms / a disconnection mechanism for clients. 
- There is as well a unit test which tests it thouroughly by generating 
randomized events of 9 different types to cover anything which can happen in 
WOT - it succeeds
- I am currently implementing a reference implementation of a FCP client of 
event-notifications. I am doing this mainly because it can be used as an online 
test inside WOT itself: In debug mode, the client will be executed, subscribe 
to all types of events, and keep track of the changes it has received via FCP. 
At shutdown it will compare whether what it has received by FCP matches the 
actual database.
Also, we already have 6 different client applications which use WOT, so 
implementing a reference client is a good idea: It already has 1000 lines, 
which is a lot of effort which client authors would have to re-invent 
otherwise.

Anyway, once it is finished, which should take about 1-3 weeks, would you like 
to wire it in to Sone? It shouldn't be much work for you as it is an abstract 
base class and you don't have to understand the full 1000 lines, you just add 
an implementing class which implements all the event-handlers.
And you can benefit from very-well tested code I hope :)

Here's a skeleton of an implementing class for example:
https://github.com/freenet/plugin-WoT-staging/blob/22844ce2cc94e8ee900d9c23e3e7b3b3d04d87c2/src/plugins/WebOfTrust/ui/fcp/DebugFCPClient.java
_______________________________________________
Devl mailing list
Devl@freenetproject.org
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to