Lines Matching refs:target
54 void IOEventReactor::InsertNodeFront(int fd, IOEventHandler* target)
57 target->next_ = h->next_;
58 target->prev_ = h;
60 h->next_->prev_ = target;
62 h->next_ = target;
65 void IOEventReactor::RemoveNode(IOEventHandler* target)
67 target->prev_->next_ = target->next_;
69 if (target->next_ != nullptr) {
70 target->next_->prev_ = target->prev_;
73 target->prev_ = nullptr;
74 target->next_ = nullptr;
77 ErrCode IOEventReactor::AddHandler(IOEventHandler* target)
79 if (target == nullptr) {
83 if (target->fd_ == -1) {
87 if (target->prev_!=nullptr) {
93 int fd = target->fd_;
99 InsertNodeFront(fd, target);
101 if ((ioHandlers_[fd].events & target->events_) != target->events_) {
102 if (backend_ == nullptr || !UpdateToDemultiplexer(target->fd_)) {
103 UTILS_LOGE("%{public}s: Update fd: %{public}d to backend failed.", __FUNCTION__, target->fd_);
108 target->enabled_ = true;
113 ErrCode IOEventReactor::UpdateHandler(IOEventHandler* target)
115 if (target == nullptr) {
119 if (target->fd_ == -1) {
124 if (target->prev_!=nullptr) {
125 if (!HasHandler(target)) {
129 if (backend_ == nullptr || !UpdateToDemultiplexer(target->fd_)) {
130 UTILS_LOGE("%{public}s: Update fd: %{public}d to backend failed.", __FUNCTION__, target->fd_);
136 return AddHandler(target);
139 ErrCode IOEventReactor::RemoveHandler(IOEventHandler* target)
141 if (target == nullptr) {
145 if (target->fd_ == -1) {
150 target->enabled_ = false;
153 if (!HasHandler(target)) {
155 target->enabled_=true;
159 RemoveNode(target);
161 if (backend_ == nullptr || !UpdateToDemultiplexer(target->fd_)) {
162 UTILS_LOGE("%{public}s: Update fd: %{public}d to backend failed.", __FUNCTION__, target->fd_);
163 target->enabled_=true;
171 bool IOEventReactor::HasHandler(IOEventHandler* target)
173 for (IOEventHandler* cur = ioHandlers_[target->fd_].head.get(); cur != nullptr; cur = cur->next_) {
174 if (cur == target) {
182 ErrCode IOEventReactor::FindHandler(IOEventHandler* target)
184 if (target == nullptr) {
188 if (target->fd_ == -1) {
195 if (!HasHandler(target)) {