<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Dustin Sallings wrote:
<blockquote cite="midAE5979CA-9634-4848-9EBE-C4FE7A54033D@spy.net"
type="cite"><span class="Apple-tab-span" style="white-space: pre;"></span>I
was hoping to add UDP support to my client, but my preliminary testing
was a bit disappointing since multi-packet requests were rejected.</blockquote>
<br>
Yes, that's a limitation of the current implementation, which was
really designed to handle reads rather than writes. The reasoning is
that a dropped request or response packet in a "get" request can simply
be treated as a cache miss and dealt with using a simple client-side
timeout, while a dropped packet on a "set" or "delete" or whatever
would need to be handled by a retransmission layer somewhere
(essentially reimplementing TCP in application-level code). Since our
application expects writes to be reliable, it didn't make much sense to
put them on an unreliable transport layer.<br>
<br>
Also, handling multi-packet requests would make the server-side code
significantly more stateful and complex, and we wanted to keep the
server side as simple and short as possible to maximize performance.<br>
<br>
Responses, of course, can span multiple packets.<br>
<br>
-Steve<br>
<br>
</body>
</html>