Хэш-таблицы в nginx
Igor Sysoev
is at rambler-co.ru
Tue Jul 25 20:20:40 MSD 2006
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
More information about the nginx-ru
mailing list