163 int fd = IOUtil.fdVal(ski.channel.getFD());
164 fdToKey.put(Integer.valueOf(fd), ski);
165 keys.add(ski);
166 }
167
168 protected void implDereg(SelectionKeyImpl ski) throws IOException {
169 int i = ski.getIndex();
170 assert (i >= 0);
171 int fd = ski.channel.getFDVal();
172 fdToKey.remove(Integer.valueOf(fd));
173 pollWrapper.release(fd);
174 ski.setIndex(-1);
175 keys.remove(ski);
176 selectedKeys.remove(ski);
177 deregister((AbstractSelectionKey)ski);
178 SelectableChannel selch = ski.channel();
179 if (!selch.isOpen() && !selch.isRegistered())
180 ((SelChImpl)selch).kill();
181 }
182
183 void putEventOps(SelectionKeyImpl sk, int ops) {
184 if (closed)
185 throw new ClosedSelectorException();
186 int fd = IOUtil.fdVal(sk.channel.getFD());
187 pollWrapper.setInterest(fd, ops);
188 }
189
190 public Selector wakeup() {
191 synchronized (interruptLock) {
192 if (!interruptTriggered) {
193 pollWrapper.interrupt();
194 interruptTriggered = true;
195 }
196 }
197 return this;
198 }
199
200 static {
201 Util.load();
202 }
203
|
163 int fd = IOUtil.fdVal(ski.channel.getFD());
164 fdToKey.put(Integer.valueOf(fd), ski);
165 keys.add(ski);
166 }
167
168 protected void implDereg(SelectionKeyImpl ski) throws IOException {
169 int i = ski.getIndex();
170 assert (i >= 0);
171 int fd = ski.channel.getFDVal();
172 fdToKey.remove(Integer.valueOf(fd));
173 pollWrapper.release(fd);
174 ski.setIndex(-1);
175 keys.remove(ski);
176 selectedKeys.remove(ski);
177 deregister((AbstractSelectionKey)ski);
178 SelectableChannel selch = ski.channel();
179 if (!selch.isOpen() && !selch.isRegistered())
180 ((SelChImpl)selch).kill();
181 }
182
183 public void putEventOps(SelectionKeyImpl sk, int ops) {
184 if (closed)
185 throw new ClosedSelectorException();
186 int fd = IOUtil.fdVal(sk.channel.getFD());
187 pollWrapper.setInterest(fd, ops);
188 }
189
190 public Selector wakeup() {
191 synchronized (interruptLock) {
192 if (!interruptTriggered) {
193 pollWrapper.interrupt();
194 interruptTriggered = true;
195 }
196 }
197 return this;
198 }
199
200 static {
201 Util.load();
202 }
203
|