Matthew Toseland schrieb:
> On Monday 10 March 2008 23:48, juergen urner wrote:
>   
>> Matthew Toseland schrieb:
>>     
>> Yes, I noticed that. And I noticed that 'Filename' is not present in 
>> PeristentPutDir
>> when I pass ClientPutComplexDir. just a bit of ugly parsing to find out 
>> 'Filename'
>> I'd like to avoid. So, at least passing 'Filename' as indicator would be 
>> helpful.
>>     
>
> It's present for each file, but there is no overall Filename because a 
> ClientPutComplexDir can put files from anywhere.
>   

ClientPutDiskDir can not. Thinking it over it is impossible
to tell if a PeristentPutDir results from a complex or a diskdir.

I have to tell my user, sorry, I don't know what your initial 
request was. I throw the put directory mask at you, right? 

Yes | No | Cancel


>> Put* is somewhat overcomplicated. I am already scared of future 
>> extensions to it.
>>     
>
> The example given on the wiki has only the minimum info needed for each file:
> -----
> ClientPutComplexDir
> Identifier=My Identifier
> Verbosity=1023
> MaxRetries=999
> PriorityClass=2
> URI=SSK at Fk6sQ6...../myinsert-4/
> GetCHKOnly=false
> DontCompress=true
> ClientToken=My Client Token
> Persistence=reboot
> Global=true
> DefaultName=hello.txt
> Files.0.Name=hello.txt
> Files.0.UploadFrom=direct
> Files.0.Metadata.ContentType=text/plain
> Files.0.DataLength=59
> Files.1.Name=something.pdf
> Files.1.UploadFrom=disk
> Files.1.Filename=something.pdf
> Files.2.Name=gpl.txt
> Files.2.UploadFrom=redirect
> Files.2.TargetURI=KSK at sample.txt
> EndMessage
> hello, this is the contents
> of the file called "hello.txt"
> -----
>   
> AFAICS the only difficult thing about the above is that you have to prefix 
> each file with <Files.n.>, rather than sending them as separate messages... 
> what's the big deal?
>   

1. what is nice and clean about it?
2. parsing - instead of running a loop for items in container one has to 
gather
    items by hand. if ..else ..elif, checkIndexIntergrity()
3. there may be many* items. In future extensions it may be possible to pass
    items one by one and query them on demand.
4. readable docs?


Put:
------------------
Requests the node to upload one or more items

Put
    params here
Plum

Items have to follow the Put message emidiately.
Items can be one or more of the following:

DataItem
---------------------
Uploads raw data

DataItem
    params here
Plum

Attatched data has to follow emidiately the newline after the item 
terminator

(...)

>> Btw, I ran a test throwing 'Plum' as message terminator at the node.
>>
>>  >>> If '=' not in chunk:
>>  >>>    endOfMessageEncountered()
>>
>> Fcp doesn' t care at all?
>>     
>
> Indeed.
>   

What thought am I missing? :-)




Reply via email to