У меня есть несколько вопросов о приоритете события libevent
1 каков диапазон приоритетных номеров?
2 в руководстве написано By default, libevent assigns the middle priority to all events unless their priority is explicitly set.
, так каков точный номер приоритета по умолчанию?
3 когда приоритет выше, число меньше или больше?
4 В libevent есть две функции, связанные с приоритетом события. event_priority_init()
и event_priority_set
, в чем между ними разница?
5 какие возвращаемые значения для event_priority_set(struct event *ev, int pri)? Я заметил, что в статье говорится что-то вроде: when an event is ready, it can't be set and calling of this function returns -1
. Я действительно не понимаю, что это значит? кто-нибудь может немного объяснить? Благодарность!
6 могу ли я изменить приоритет события после его регистрации. Например, в начале я поставил приоритет 10, позже поставил 5, потом поставил 10, блальба
Кстати: в настоящее время моя база = event_init(); event_base_priority_init (база, 4);
event_set(ev, sockfd, EV_READ, callback, arg);
event_base_set(base, ev);
event_add(ev, NULL);
event_priority_set(&ev, 2);
.....
// set and add some other events
....
event_base_dispatch(base);
он работает без ошибок, но я не знаю правильное место event_priority_set(&ev, 2)
или нет, поэтому я не знаю, установлен ли приоритет или нет.