ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Хэш-таблицы в nginx



On Tue, 25 Jul 2006, Konstantin Sorokin wrote:

Игорь, а я правильно понимаю, что судя по (src/core/ngx_hash.c)

if (names[n].key.len >= 255) {
   ngx_log_error(NGX_LOG_EMERG, hinit->pool->log, 0,
       "the \"%V\" value to hash is to long: %uz bytes, "
       "the maximum length can be 255 bytes only",
       &names[n].key, names[n].key.len);
   return NGX_ERROR;
}

Длина ключа в nginx'овой хэш-таблице не может быть больше 255 ? А почему
так ? Что может поломаться, если это увеличить ?

Потому что корзина устроена так:

void*   указатель
u_char  длина ключа1
u_char  ключ1[длина]
u-char  выравнивание до указателя

void*   указатель
u_char  длина ключа2
u_char  ключ2[длина]
u-char  выравнивание до указателя

...

void*   NULL


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.