Author: ehuelsmann Date: Tue Jul 22 02:05:57 2008 New Revision: 376
Modified: usocket/branches/new-wfi/BRANCH-README usocket/branches/new-wfi/backend/armedbear.lisp Log: Update the ABCL backend with new w-f-i.
Modified: usocket/branches/new-wfi/BRANCH-README ============================================================================== --- usocket/branches/new-wfi/BRANCH-README (original) +++ usocket/branches/new-wfi/BRANCH-README Tue Jul 22 02:05:57 2008 @@ -2,6 +2,5 @@
At least these backends are broken, for now:
- - ABCL - ECL - Scieneer
Modified: usocket/branches/new-wfi/backend/armedbear.lisp ============================================================================== --- usocket/branches/new-wfi/backend/armedbear.lisp (original) +++ usocket/branches/new-wfi/backend/armedbear.lisp Tue Jul 22 02:05:57 2008 @@ -349,8 +349,9 @@ ((datagram-usocket-p socket) "java.nio.channels.DatagramChannel")))
-(defun wait-for-input-internal (sockets &key timeout) - (let* ((ops (logior (op-read) (op-accept))) +(defun wait-for-input-internal (wait-list &key timeout) + (let* ((sockets (wait-list-waiters wait-list)) + (ops (logior (op-read) (op-accept))) (selector (jdi:do-jstatic "java.nio.channels.Selector" "open")) (channels (mapcar #'socket sockets))) (unwind-protect @@ -415,3 +416,25 @@ "boolean") (jdi:jop-deref chan) jtrue))))))
+ +;; +;; +;; +;; The WAIT-LIST part +;; + +;; +;; Note that even though Java has the concept of the Selector class, which +;; remotely looks like a wait-list, it requires the sockets to be non-blocking. +;; usocket however doesn't make any such guarantees and is therefore unable to +;; use the concept outside of the waiting routine itself (blergh!). +;; + +(defun %setup-wait-list (wl) + (declare (ignore wl))) + +(defun %add-waiter (wl w) + (declare (ignore wl w))) + +(defun %remove-waiter (wl w) + (declare (ignore wl w))) \ No newline at end of file