Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CF: images & caching.
>
> Server 1 gets some new images, genrates a new archive. collect.pl scripts see
> it is still 0.94.0, so calls the new version 0.94.0.001 or something.
>
> Server 2 gets some new images, but different from server 1. IT rebuilds, and
> likewise it gets called 0.94.0.001.
>
> Client connects to server 1. Sees different imaging version, gets the
> changes. IT now believes it has a valid version of 0.94.0.001 (so future
> connects to server 1 are fast and easy.)
>
> Client then decides to play on server 2. IT compares version - they match, so
> it thinks it is OK. Doesn't work, as we have different images.
>
Ah, but thats the point of "blessing" a version. You allow only the
blessed versions to have "0.94.000" type names. Anything higher means
its a modified image cache of that generation. Assuming that the
verison number is set by collect.pl, it will always increment on
each rebuild. This means that any non-blessed version is server
specific and will require the client to store the server name, along
with the version number.
Examples of client image cache version names :
0.94.000:<server> "blessed" version. <server> value is
irrelevant, as this is the same for all
machines.
0.94.001:<server1> 1st "altered" version for <server1>, and
not to be confused with "0.94.001:<server2>"
Of course, the server always knows its own name, and only needs the
version/build number on its image archive.
You could have a system whereby the client of version X.YY.Z is
always distributed with the blessed image cache. When it logs onto
a server with an altered image set, it copies over the blessed version
and modifies it, as per the server instruction (or overwrites it, or
just plain starts a new cache with the identifying version/server
tag, you get the idea).
Under this scheme, the client will store several caches for use on the
various servers its logged into. Not too complex I think...
-b.t.
[to unsubscribe etc., send mail to crossfire-request@ifi.uio.no]