<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Peter,<br>
    <br>
    my plan is to add an internal hash table to keep the details about
    connections and make routing in the config possible without using
    htable. This is for next major release, for other things I'm not
    sure I have time, considering it's very likely to freeze quite soon.
    If you want to work on it, there should be no conflicts.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 12/4/12 6:48 PM, Peter Dunkley
      wrote:<br>
    </div>
    <blockquote
      cite="mid:1354643316.6095.10.camel@pd-notebook-linux.croc.internal"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="GENERATOR" content="GtkHTML/4.4.4">
      Hi Daniel,<br>
      <br>
      I know you were thinking of looking at the MSRP module before the
      next release, and during discussions here at Crocodile we realised
      that there was another enhancement that would be useful.<br>
      <br>
      An MSRP relay has the option of splitting large MSRP messages
      (including those that are already chunked) into smaller chunks.&nbsp;
      The reason is that there is no maximum size for an MSRP chunk, so
      it is entirely possible for a client to attempt to send a large
      file in a single, very-large, MSRP message.&nbsp; In this cases it
      becomes important to pull the message from the receive buffer in
      small pieces (instead of waiting for a complete message to arrive
      and over-flowing the receive buffer) and relaying it in smaller
      chunks.<br>
      <br>
      Also, the flow control for MSRP is based around TCP windowing, so
      if you want to limit the rate that someone is sending you MSRP
      messages (for example during the transfer of a large file) you do
      so by pulling from the TCP buffer at a lower rate.&nbsp; One way of
      avoiding overloading an MSRP relay is to have fairly small TCP
      receive buffers thereby limiting the rate at which clients and
      relays can send data.&nbsp; However, if the TCP buffers are small the
      chances of a client sending a message or chunk that is too large
      (and needs to be chunked by the relay) increases further.<br>
      <br>
      Of course, to do this the MSRP module will need to be able to
      remember the (From|To)-Path, transaction ID, and so on from the
      start of the MSRP message so that it can use these (along with
      calculated Byte-Range) in each additional chunk.<br>
      <br>
      I was thinking a new parameter indicating the maximum MSRP send
      chunk size is required.&nbsp; If an MSRP message in the receive buffer
      reaches that number then it has to be pulled from the buffer in
      parts and relayed as multiple chunks.&nbsp; This maximum send chunk
      size should be set to be much smaller than the TCP receive buffer
      size.<br>
      <br>
      Regards,<br>
      <br>
      Peter<br>
      <br>
      <table cellpadding="0" cellspacing="0" width="100%">
        <tbody>
          <tr>
            <td>
              <pre>-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
sr-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a></pre>
  </body>
</html>