Changeset 891

Show
Ignore:
Timestamp:
08/10/07 15:20:53 (1 year ago)
Author:
adefacc
Message:

connection_build_header: micro optimizations

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r890 r891  
    2525            in practice there is only one caller that passes 4096 
    2626            as read size). 
     27 
     28        * cherokee/connection.c 
     29          - cherokee_connection_build_header(), micro-optimizations: 
     30                - don't search for Content-Length: unless it is really 
     31                  necessary; 
     32                - removed unneeded if condition (it should be always true). 
    2733 
    28342007-08-10  A.D.F  <adefacc@tin.it> 
  • cherokee/trunk/cherokee/connection.c

    r889 r891  
    537537        cherokee_buffer_ensure_size (&(conn->header_buffer), 384); 
    538538        ret = cherokee_handler_add_headers (conn->handler, &conn->header_buffer); 
    539         switch (ret) { 
    540         case ret_ok: 
    541                 break; 
    542  
    543         case ret_eof: 
    544         case ret_error: 
    545         case ret_eagain: 
    546                 return ret; 
    547  
    548         default: 
    549                 RET_UNKNOWN(ret); 
    550                 return ret_error; 
    551         } 
    552  
    553         if (HANDLER_SUPPORT_MAYBE_LENGTH(conn->handler)) { 
     539        if (unlikely (ret != ret_ok)) { 
     540                switch (ret) { 
     541 
     542                case ret_eof: 
     543                case ret_error: 
     544                case ret_eagain: 
     545                        return ret; 
     546 
     547                default: 
     548                        RET_UNKNOWN(ret); 
     549                        return ret_error; 
     550                } 
     551        } 
     552 
     553        if (HANDLER_SUPPORT_MAYBE_LENGTH(conn->handler) && 
     554                conn->keepalive != 0) { 
    554555                if (strcasestr (conn->header_buffer.buf, "Content-Length: ") == NULL) { 
    555556                        conn->keepalive = 0; 
     
    559560        /* Add the server headers        
    560561         */ 
    561         if (! (conn->handler->support & hsupport_dont_add_headers)) { 
     562        if (! (conn->handler->support & hsupport_dont_add_headers)) 
    562563                build_response_header (conn, &conn->buffer); 
    563         } 
    564564 
    565565        /* Add handler headers 
    566566         */ 
    567         if (! cherokee_buffer_is_empty (&conn->header_buffer)) { 
    568                 cherokee_buffer_add_buffer (&conn->buffer, &conn->header_buffer); 
    569         } 
     567        cherokee_buffer_add_buffer (&conn->buffer, &conn->header_buffer); 
    570568 
    571569        /* END of response