Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1480

Improve performance of reading HTTP headers

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: transport/http, util
    • Labels:
      None

      Description

      Currently, in file src/core/transport/http/sender/http_client.c, when processing HTTP headers, we read the data 1 byte at a time. This is too inefficient and performance intensive, since each read means a read to the TCP/IP stack.

      The proposal is to improve the stream utility support so that one can specify a minimum number of bytes to read. So that when a read comes down that is less than the minimum, we read the minimum into a stream buffer and then copy the requested read length into caller buffer. So next time stream is read, and there is data in the stream buffer, the data is returned without having to do a socket read.

      We can probably extend this on the stream write-side as well.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              nadiramra Nadir K. Amra
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: