There's a lot of notes etc on this available via SVN:
https://emu.freenetproject.org/svn/trunk/freenet/devnotes/specs/fcp.txt
(Which is definitely not an actual spec yet!).

On Wed, Jan 18, 2006 at 09:56:13AM -0800, Ian Clarke wrote:
> Cool, I have created a Wiki page for this, if anyone feels like  
> starting it please feel free:
> 
>   http://wiki.freenetproject.org/FreenetFCPSpec2Point0
> 
> Ian.
> 
> On 18 Jan 2006, at 09:49, Matthew Toseland wrote:
> 
> >We now have a very basic FCP implementation working in 0.7, from build
> >362 onwards.
> >
> >$ telnet 127.0.0.1 8000
> >Trying 127.0.0.1...
> >Connected to 127.0.0.1.
> >Escape character is '^]'.
> >ClientHello // client to node
> >Name=hello1
> >ExpectedVersion=0.7.0
> >End
> >NodeHello // node to client
> >FCPVersion=0.7.0
> >Version=Fred,0.7,1.0,361
> >Node=Fred
> >EndMessage
> >ClientPut // client to node, with payload
> >URI=KSK at blahblahblah.86149
> >DataLength=9
> >Identifier=6
> >End
> >Hello !!
> >InsertSuccessful // node to client
> >Identifier=6
> >URI=freenet:KSK at blahblahblah.86149
> >EndMessage
> >ClientGet // client to node
> >Identifier=haha
> >URI=freenet:KSK at blahblahblah.86149
> >End
> >
> >
> >This is not set in stone, I welcome suggestions for improvement!
> >
> >Currently defined messages (client to node):
> >
> >ClientHello
> >Name=<client name>
> >ExpectedVersion=0.7.0
> >End
> >
> >ClientGet
> >IgnoreDS=false // true = ignore the datastore
> >DSOnly=false // true = only check the datastore, don't route (~=  
> >htl 0)
> >URI=KSK at gpl.txt
> >Identifier=Request Number One
> >Verbosity=0 // no status, just tell us when it's done
> >ReturnType=direct // return all at once over the FCP connection
> >MaxSize=100 // maximum size of returned data (all numbers in hex)
> >MaxTempSize=1000 // maximum size of intermediary data
> >MaxRetries=100 // automatic retry supported as an option
> >EndMessage
> >
> >ClientPut
> >URI=CHK@ // could as easily be an insertable SSK URI
> >Metadata.ContentType=text/html
> >DataLength=19000 // hex for 100kB
> >Identifier=Insert-1 // identifier, as always
> >Verbosity=0 // just report when complete
> >MaxRetries=999999 // lots of retries
> >Data
> ><data>
> >
> >Node to client:
> >
> >NodeHello
> >FCPVersion=<protocol version, 0.7.0>
> >Node=Fred
> >Version=Fred,0.7,1.0,361
> >EndMessage
> >
> >PutSuccessful
> >Identifier=<identifier>
> >URI=<uri to fetch>
> >EndMessage
> >
> >PutFailed
> >Code=9 // error code
> >Identifier=1 // identifier
> >ExpectedURI=freenet:KSK at hello.toad // insert URI if it succeeded
> >CodeDescription=Insert collided with different, pre-existing data  
> >at the
> >    same key // description of error
> >ExtraDescription=Hmmm // more info on the error
> >EndMessage
> >
> >GetFailed
> >Code=<error code>
> >CodeDescription=<description of error code>
> >ExtraDescription=<extra description of this specific error>
> >Fatal=<true|false; true means there isn't much point retrying as it's
> >     probably an error with the data>
> >Identifier=<identifier passed in by client>
> >EndMessage
> >
> >ProtocolError // indicates an FCP protocol error
> >Code=1 // error code
> >CodeDescription=ClientHello must be first message // description of  
> >error
> >ExtraDescription=Duh // more info on the error
> >Fatal=false // means the connection stays open
> >EndMessage
> >
> >IdentifierCollision // client tried to reuse an Identifier
> >Identifier=1
> >EndMessage
> >-- 
> >Matthew J Toseland - toad at amphibian.dyndns.org
> >Freenet Project Official Codemonkey - http://freenetproject.org/
> >ICTHUS - Nothing is impossible. Our Boss says so.
> >_______________________________________________
> >Tech mailing list
> >Tech at freenetproject.org
> >http://emu.freenetproject.org/cgi-bin/mailman/listinfo/tech
> 
> _______________________________________________
> Tech mailing list
> Tech at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/tech

-- 
Matthew J Toseland - toad at amphibian.dyndns.org
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: 
<https://emu.freenetproject.org/pipermail/tech/attachments/20060118/efb5408b/attachment.pgp>

Reply via email to