Recent site activity

Projects‎ > ‎

HTTP Header Management Changes

The HTTP header parser and management code inherited from Squid allocates individual structures (HttpHeaderEntry) for each header being parsed and represented in a HTTP request/reply. This is an inefficient use of CPU and memory.

This project aims to rewrite the HTTP header management code to use a more compact representation in memory.

The specific goals include reducing the amount of calls to the memory management routines and the subsequent drop in CPU utilization. Instead of 1 call to allocate per HTTP header entry, a single call to allocate as many entries as needed.

The changes will be linked to Issue 108 in the bug tracking system.

Status

  • The initial tidyup of the HTTP header creation and deletion functions has been committed.
  • The Vector type has been written, tested and committed.
  • Unit tests for the Vector type, the HTTP header management functions and the HTTP header parser have been committed.
  • The changes to HTTP header management have been committed.
Comments