<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2003/10/7f6be26678d11fcb04f13cb5c61e23c5"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-10-10T08:39:03"
  subject="Re: [Caml-list] extending a type with Marshal"
  prev="2003/10/58d1b989bd61d03557cfd250a44ecc13"
  next="2003/10/0e54e4f3e885d2b5202894ff25972620"
  prev-in-thread="2003/10/d149b67fa1588802d67be2ed6b3d5855"
  next-in-thread="2003/10/456e9b58a2d15ef6607ce28e63730b98"
  prev-thread="2003/10/d04befa7beb24ef22b9d02a9066de8f7"
  next-thread="2003/10/33325f78a6172641c92e0e567b9af6af"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] extending a type with Marshal">
<msg 
  url="2003/10/23020cf3ef994a55faf67bc004acf3fd"
  from="Ker Lutyn &lt;ker527mail@y...&gt;"
  author="Ker Lutyn"
  date="2003-10-08T21:23:00"
  subject="[Caml-list] extending a type with Marshal">
<msg 
  url="2003/10/93e1c7f56863457dc0bcda7f8d33d6e5"
  from="Richard Jones &lt;rich@a...&gt;"
  author="Richard Jones"
  date="2003-10-08T21:38:49"
  subject="Re: [Caml-list] extending a type with Marshal">
</msg>
<msg 
  url="2003/10/d149b67fa1588802d67be2ed6b3d5855"
  from="Peter Jolly &lt;peter@j...&gt;"
  author="Peter Jolly"
  date="2003-10-08T21:52:10"
  subject="Re: [Caml-list] extending a type with Marshal">
</msg>
<msg 
  url="2003/10/7f6be26678d11fcb04f13cb5c61e23c5"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-10-10T08:39:03"
  subject="Re: [Caml-list] extending a type with Marshal">
</msg>
<msg 
  url="2003/10/456e9b58a2d15ef6607ce28e63730b98"
  from="Christian Rinderknecht &lt;christian.rinderknecht@d...&gt;"
  author="Christian Rinderknecht"
  date="2003-10-10T09:18:26"
  subject="Re: [Caml-list] extending a type with Marshal">
<msg 
  url="2003/10/292081aed310039449f69c2d9d0ed30c"
  from="skaller &lt;skaller@o...&gt;"
  author="skaller"
  date="2003-10-10T10:38:44"
  subject="Re: [Caml-list] extending a type with Marshal">
</msg>
<msg 
  url="2003/10/8dc99151763f5627ce8027b84206cca2"
  from="Martin Berger &lt;martinb@d...&gt;"
  author="Martin Berger"
  date="2003-10-10T17:19:37"
  subject="Re: [Caml-list] extending a type with Marshal">
</msg>
<msg 
  url="2003/10/98526a6ccb2c8a13f822988a31ca0018"
  from="William Chesters &lt;williamc@p...&gt;"
  author="William Chesters"
  date="2003-10-12T08:58:53"
  subject="Re: [Caml-list] extending a type with Marshal">
<msg 
  url="2003/10/7f3508d9a8e763ca3c4814a1f987ad8e"
  from="William Chesters &lt;williamc@p...&gt;"
  author="William Chesters"
  date="2003-10-12T09:03:15"
  subject="Re: [Caml-list] extending a type with Marshal">
</msg>
<msg 
  url="2003/10/13d1b30fa399c79b0b95a64690887b94"
  from="David MENTRE &lt;dmentre@l...&gt;"
  author="David MENTRE"
  date="2003-10-12T19:45:12"
  subject="About ASN.1 and network encoding (was: Re: [Caml-list] extending a type with Marshal)">
</msg>
</msg>
</msg>
</msg>
</thread>

<contents>
On Thu, 2003-10-09 at 07:22, Ker Lutyn wrote:
&gt; Marshal provides a convenient way to pass information between
&gt; components. It requires that types be the same at either end. But for
&gt; multi-machine production systems that must serve traffic continuously,
&gt; you cannot count on upgrading all your systems simultaneously.
&gt; 

If you have p2p connection: Negotiate.
That's the traditional solution: used by modems,
for example.

Fixing a negotiation protocol isn't hard.

IMHO the hard part is identifying 'versions'
and 'capbilities'. Probably the best way is
to use a string encoding (and use a parser).

Nastiest example I can think of is requesting a font.

Note this suggestion requires both servers and clients
to maintain capability to handle several 'old' versions.

This isn't extension of the Marshalled data, rather
quite distinct data for each 'version' is possible,
so the solution seems more general: the cost is extra
handshakes -- how expensive that is depends on how long
the agreement lasts (until explicitly refreshed? until
end of session? only for a single data fetch?)


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

</contents>

</message>

