Ok, lets focus on the Wiki until the spec has solidified some more,  
then we can commit it to SVN.

Ian.

On 18 Jan 2006, at 09:58, Matthew Toseland wrote:

> 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.
> _______________________________________________
> Tech mailing list
> Tech at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/tech


Reply via email to