[usocket-cvs] r376 - in usocket/branches/new-wfi: . backend

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Tue Jul 22 06:06:06 UTC 2008


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



More information about the usocket-cvs mailing list