[Tech] Fcp notes and issues
Juergen Urner
jUrner at arcor.de
Thu Nov 22 12:13:52 UTC 2007
Hello,
Quite a list, but I got some some notes / issues regarding Fcp-2.0.
Instead of flooding
the bug tracker with minor issues I thought I better bundle them and ask
for advice
(Node #1075 r15872M)
1.) PersistentGet
...the node sends a PersistentGet message as soon as a connection is
established for
each request still in the queue.
a. the order in wich these messages arrive, should I assume it is arbitrary
or is it in request insertion order?
b. is it intentional that listing is not followed by an
EndListPersitentRequests
message? As far as I can see, this would allow clients to do clean post
init processing.
c. a minor point in relation to the initial listing of persistent requests.
Maybe a bit paranoid, but some client may have left an unknown number of
requests
laying around for the next client to run into. Somehow I would feel
better if I could
tell the node to only list a a specified set of requests and forget about
all others.
d. MaxSize and BinaryBlob fields are not passed. This could make it hard
in some cases
to resend a message without keeping track of the initial message across
conncetions.
2.) A suggestion on identifiers.
As far as I can see the only way to process is to be prepaired to resend
a message
to handle IdentifierCollisions. Maybe it would allow clients to do
cleaner processing
if the node could be explicitely queried for identifiers.
3.) I already asked this question on Frost regarding translations and
client / node
locale. Why not let the client tell the node wich locale to use in a
connection? IIRC
nextgens responded something like: error messages are intended to be
used by
programmers only.
Coding a bit deeper into Fcp I noticed all the strings being passed in
ConfigData messages
and feel like restating my point. Why double effords (horror ;-)when all
these strings are
already translated so nicely. Was: my american friend wants to talk to
the greek node on
my machine.
4.) from my wishlist: handle filename collisions. The node checks for
TempFilename
collisions for security reasons but IIRC does not check for Filename
collisions when the
request is complete. Anyway.. a flag would be nice indicating how to
handle collisions of
either one. Something like "HandleTmpFilenameCollisions=report | rename",
"HandleFilenameCollisions=report | rename". Where rename does an
automatic rename
to "myTmpFilename (1)" / "myFilename (1)", reporting the final names on
PersistentGet
and DataFound. I know, "blah (1)" == ugly, but IMHO but that's what a
client has to do
anyways.
Juergen
More information about the Tech
mailing list