From ehuelsmann at common-lisp.net Fri Aug 1 22:08:46 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Fri, 1 Aug 2008 18:08:46 -0400 (EDT) Subject: [usocket-cvs] r412 - usocket/branches/0.4.x/backend Message-ID: <20080801220846.E33BB300B@common-lisp.net> Author: ehuelsmann Date: Fri Aug 1 18:08:45 2008 New Revision: 412 Modified: usocket/branches/0.4.x/backend/clisp.lisp Log: clisp: Delete private code which warns when loaded. Modified: usocket/branches/0.4.x/backend/clisp.lisp ============================================================================== --- usocket/branches/0.4.x/backend/clisp.lisp (original) +++ usocket/branches/0.4.x/backend/clisp.lisp Fri Aug 1 18:08:45 2008 @@ -176,86 +176,3 @@ wait-list)))) -;; -;; UDP/Datagram sockets! -;; - -#+rawsock -(progn - - (defun make-sockaddr_in () - (make-array 16 :element-type '(unsigned-byte 8) :initial-element 0)) - - (declaim (inline fill-sockaddr_in)) - (defun fill-sockaddr_in (sockaddr_in ip port) - (port-to-octet-buffer sockaddr_in port) - (ip-to-octet-buffer sockaddr_in ip :start 2) - sockaddr_in) - - (defun socket-create-datagram (local-port - &key (local-host *wildcard-host*) - remote-host - remote-port) - (let ((sock (rawsock:socket :inet :dgram 0)) - (lsock_addr (fill-sockaddr_in (make-sockaddr_in) - local-host local-port)) - (rsock_addr (when remote-host - (fill-sockaddr_in (make-sockaddr_in) - remote-host (or remote-port - local-port))))) - (bind sock lsock_addr) - (when rsock_addr - (connect sock rsock_addr)) - (make-datagram-socket sock :connected-p (if rsock_addr t nil)))) - - (defun socket-receive (socket buffer &key (size (length buffer))) - "Returns the buffer, the number of octets copied into the buffer (received) -and the address of the sender as values." - (let* ((sock (socket socket)) - (sockaddr (when (not (connected-p socket)) - (rawsock:make-sockaddr))) - (rv (if sockaddr - (rawsock:recvfrom sock buffer sockaddr - :start 0 - :end size) - (rawsock:recv sock buffer - :start 0 - :end size)))) - (values buffer - rv - (list (ip-from-octet-buffer (sockaddr-data sockaddr) 4) - (port-from-octet-buffer (sockaddr-data sockaddr) 2))))) - - (defun socket-send (socket buffer &key address (size (length buffer))) - "Returns the number of octets sent." - (let* ((sock (socket socket)) - (sockaddr (when address - (rawsock:make-sockaddr :INET - (fill-sockaddr_in - (make-sockaddr_in) - (host-byte-order - (second address)) - (first address))))) - (rv (if address - (rawsock:sendto sock buffer sockaddr - :start 0 - :end size) - (rawsock:send sock buffer - :start 0 - :end size)))) - rv)) - - (defmethod socket-close ((usocket datagram-usocket)) - (when (wait-list usocket) - (remove-waiter (wait-list usocket) usocket)) - (rawsock:sock-close (socket usocket))) - - ) - -#-rawsock -(progn - (warn "This image doesn't contain the RAWSOCK package. -To enable UDP socket support, please be sure to use the -Kfull parameter -at startup, or to enable RAWSOCK support during compilation.") - - ) From ehuelsmann at common-lisp.net Sat Aug 2 20:06:09 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Sat, 2 Aug 2008 16:06:09 -0400 (EDT) Subject: [usocket-cvs] r413 - usocket/trunk/backend Message-ID: <20080802200609.CCA175C18F@common-lisp.net> Author: ehuelsmann Date: Sat Aug 2 16:06:09 2008 New Revision: 413 Modified: usocket/trunk/backend/sbcl.lisp Log: Document that we can't call SOCKOPT-TCP-NODELAY on all ECL versions, so we need a check. Modified: usocket/trunk/backend/sbcl.lisp ============================================================================== --- usocket/trunk/backend/sbcl.lisp (original) +++ usocket/trunk/backend/sbcl.lisp Sat Aug 2 16:06:09 2008 @@ -206,6 +206,10 @@ (when deadline (unsupported 'deadline 'socket-connect)) (when timeout (unsupported 'timeout 'socket-connect)) (when (and nodelay-specified + ;; 20080802: ECL added this function to its sockets + ;; package today. There's no guarantee the functions + ;; we need are available, but we can make sure not to + ;; call them if they aren't (not (fboundp 'sb-bsd-sockets::sockopt-tcp-nodelay))) (unsupported 'nodelay 'socket-connect)) From ehuelsmann at common-lisp.net Thu Aug 7 18:50:26 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Thu, 7 Aug 2008 14:50:26 -0400 (EDT) Subject: [usocket-cvs] r414 - usocket/trunk/backend Message-ID: <20080807185026.215587C021@common-lisp.net> Author: ehuelsmann Date: Thu Aug 7 14:50:26 2008 New Revision: 414 Modified: usocket/trunk/backend/openmcl.lisp Log: Fix CCL backend. Modified: usocket/trunk/backend/openmcl.lisp ============================================================================== --- usocket/trunk/backend/openmcl.lisp (original) +++ usocket/trunk/backend/openmcl.lisp Thu Aug 7 14:50:26 2008 @@ -164,10 +164,9 @@ (defun wait-for-input-internal (wait-list &key timeout) (with-mapped-conditions () (let* ((ticks-timeout (truncate (* (or timeout 1) - ccl::*ticks-per-second*))) - (active-internal-sockets - (input-available-p (wait-list-waiters wait-list) - (when timeout ticks-timeout)))) + ccl::*ticks-per-second*)))) + (input-available-p (wait-list-waiters wait-list) + (when timeout ticks-timeout)) wait-list))) From ehuelsmann at common-lisp.net Thu Aug 7 20:25:40 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Thu, 7 Aug 2008 16:25:40 -0400 (EDT) Subject: [usocket-cvs] r415 - public_html Message-ID: <20080807202540.6081A7E011@common-lisp.net> Author: ehuelsmann Date: Thu Aug 7 16:25:39 2008 New Revision: 415 Modified: public_html/api-docs.shtml Log: Document information retrieval functions. Modified: public_html/api-docs.shtml ============================================================================== --- public_html/api-docs.shtml (original) +++ public_html/api-docs.shtml Thu Aug 7 16:25:39 2008 @@ -100,19 +100,16 @@
socket-close socket

Flushes the stream associated with the socket and closes the socket connection.

+
get-local-name socket => address, port
+get-local-name socket => address
+get-local-port socket => port
+

Returns the local address and/or port information of socket.

+ +
get-peer-name socket => address, port
+get-peer-name socket => address
+get-peer-port socket => port
+

Returns the remote address and/or port information of socket.

- From ehuelsmann at common-lisp.net Thu Aug 7 20:28:37 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Thu, 7 Aug 2008 16:28:37 -0400 (EDT) Subject: [usocket-cvs] r416 - public_html Message-ID: <20080807202837.5BA7C75189@common-lisp.net> Author: ehuelsmann Date: Thu Aug 7 16:28:36 2008 New Revision: 416 Modified: public_html/api-docs.shtml Log: Further explanation and xhtml compliance. Modified: public_html/api-docs.shtml ============================================================================== --- public_html/api-docs.shtml (original) +++ public_html/api-docs.shtml Thu Aug 7 16:28:36 2008 @@ -108,7 +108,8 @@
get-peer-name socket => address, port
get-peer-name socket => address
get-peer-port socket => port
-

Returns the remote address and/or port information of socket.

+

Returns the remote address and/or port information of socket. + The socket passed to this function must be a connected socket.

From ehuelsmann at common-lisp.net Thu Aug 7 20:29:52 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Thu, 7 Aug 2008 16:29:52 -0400 (EDT) Subject: [usocket-cvs] r417 - public_html Message-ID: <20080807202952.40B827A000@common-lisp.net> Author: ehuelsmann Date: Thu Aug 7 16:29:51 2008 New Revision: 417 Modified: public_html/api-docs.shtml Log: More xhtml compliance. Modified: public_html/api-docs.shtml ============================================================================== --- public_html/api-docs.shtml (original) +++ public_html/api-docs.shtml Thu Aug 7 16:29:51 2008 @@ -103,7 +103,7 @@
get-local-name socket => address, port
get-local-name socket => address
get-local-port socket => port
-

Returns the local address and/or port information of socket.

+

Returns the local address and/or port information of socket.

get-peer-name socket => address, port
get-peer-name socket => address
From ehuelsmann at common-lisp.net Thu Aug 7 20:33:02 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Thu, 7 Aug 2008 16:33:02 -0400 (EDT) Subject: [usocket-cvs] r418 - usocket/branches/0.4.x/backend Message-ID: <20080807203302.5A2545C1AA@common-lisp.net> Author: ehuelsmann Date: Thu Aug 7 16:32:59 2008 New Revision: 418 Modified: usocket/branches/0.4.x/backend/openmcl.lisp Log: Merge c414 from trunk (fix for CCL/OpenMCL backend). Modified: usocket/branches/0.4.x/backend/openmcl.lisp ============================================================================== --- usocket/branches/0.4.x/backend/openmcl.lisp (original) +++ usocket/branches/0.4.x/backend/openmcl.lisp Thu Aug 7 16:32:59 2008 @@ -164,10 +164,9 @@ (defun wait-for-input-internal (wait-list &key timeout) (with-mapped-conditions () (let* ((ticks-timeout (truncate (* (or timeout 1) - ccl::*ticks-per-second*))) - (active-internal-sockets - (input-available-p (wait-list-waiters wait-list) - (when timeout ticks-timeout)))) + ccl::*ticks-per-second*)))) + (input-available-p (wait-list-waiters wait-list) + (when timeout ticks-timeout)) wait-list))) From ehuelsmann at common-lisp.net Fri Aug 8 20:19:42 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Fri, 8 Aug 2008 16:19:42 -0400 (EDT) Subject: [usocket-cvs] r419 - usocket/trunk/backend Message-ID: <20080808201942.9CB2D14162@common-lisp.net> Author: ehuelsmann Date: Fri Aug 8 16:19:42 2008 New Revision: 419 Modified: usocket/trunk/backend/sbcl.lisp Log: Fix SBCL waiting backend. Modified: usocket/trunk/backend/sbcl.lisp ============================================================================== --- usocket/trunk/backend/sbcl.lisp (original) +++ usocket/trunk/backend/sbcl.lisp Fri Aug 8 16:19:42 2008 @@ -334,7 +334,7 @@ (multiple-value-bind (count err) (sb-unix:unix-fast-select - (1+ (reduce #'max (mapcar #'socket (wait-list-waiters sockets)) + (1+ (reduce #'max (wait-list-%wait sockets)) :key #'sb-bsd-sockets:socket-file-descriptor)) (sb-alien:addr rfds) nil nil (when timeout secs) musecs) @@ -343,10 +343,9 @@ (error (map-errno-error err))) (when (< 0 count) ;; process the result... - (dolist (x (wait-list-waiters sockets)) - (when (not (sb-unix:fd-isset - (sb-bsd-sockets:socket-file-descriptor (socket x)) - rfds)) + (dolist (x (wait-list-%wait sockets)) + (when (sb-unix:fd-isset + (sb-bsd-sockets:socket-file-descriptor x) rfds) (setf (state x) :READ)))))))))) #+win32 From ehuelsmann at common-lisp.net Fri Aug 8 20:21:32 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Fri, 8 Aug 2008 16:21:32 -0400 (EDT) Subject: [usocket-cvs] r420 - usocket/trunk/backend Message-ID: <20080808202132.75B493C206@common-lisp.net> Author: ehuelsmann Date: Fri Aug 8 16:21:32 2008 New Revision: 420 Modified: usocket/trunk/backend/sbcl.lisp Log: Fix the fix. Modified: usocket/trunk/backend/sbcl.lisp ============================================================================== --- usocket/trunk/backend/sbcl.lisp (original) +++ usocket/trunk/backend/sbcl.lisp Fri Aug 8 16:21:32 2008 @@ -346,7 +346,7 @@ (dolist (x (wait-list-%wait sockets)) (when (sb-unix:fd-isset (sb-bsd-sockets:socket-file-descriptor x) rfds) - (setf (state x) :READ)))))))))) + (setf (state x) :READ))))))))) #+win32 (warn "wait-for-input not (yet!) supported...") From ehuelsmann at common-lisp.net Fri Aug 8 20:22:59 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Fri, 8 Aug 2008 16:22:59 -0400 (EDT) Subject: [usocket-cvs] r421 - usocket/trunk/backend Message-ID: <20080808202259.DBB63831E0@common-lisp.net> Author: ehuelsmann Date: Fri Aug 8 16:22:59 2008 New Revision: 421 Modified: usocket/trunk/backend/sbcl.lisp Log: Fix the fixed fix. Modified: usocket/trunk/backend/sbcl.lisp ============================================================================== --- usocket/trunk/backend/sbcl.lisp (original) +++ usocket/trunk/backend/sbcl.lisp Fri Aug 8 16:22:59 2008 @@ -335,7 +335,7 @@ (count err) (sb-unix:unix-fast-select (1+ (reduce #'max (wait-list-%wait sockets)) - :key #'sb-bsd-sockets:socket-file-descriptor)) + :key #'sb-bsd-sockets:socket-file-descriptor) (sb-alien:addr rfds) nil nil (when timeout secs) musecs) (if (null count) @@ -346,7 +346,7 @@ (dolist (x (wait-list-%wait sockets)) (when (sb-unix:fd-isset (sb-bsd-sockets:socket-file-descriptor x) rfds) - (setf (state x) :READ))))))))) + (setf (state x) :READ)))))))))) #+win32 (warn "wait-for-input not (yet!) supported...") From ehuelsmann at common-lisp.net Fri Aug 8 21:02:48 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Fri, 8 Aug 2008 17:02:48 -0400 (EDT) Subject: [usocket-cvs] r422 - usocket/trunk/backend Message-ID: <20080808210248.8E923682C5@common-lisp.net> Author: ehuelsmann Date: Fri Aug 8 17:02:48 2008 New Revision: 422 Modified: usocket/trunk/backend/sbcl.lisp Log: Fix the fixed fix. Modified: usocket/trunk/backend/sbcl.lisp ============================================================================== --- usocket/trunk/backend/sbcl.lisp (original) +++ usocket/trunk/backend/sbcl.lisp Fri Aug 8 17:02:48 2008 @@ -343,9 +343,11 @@ (error (map-errno-error err))) (when (< 0 count) ;; process the result... - (dolist (x (wait-list-%wait sockets)) + (dolist (x (wait-list-waiters sockets)) (when (sb-unix:fd-isset - (sb-bsd-sockets:socket-file-descriptor x) rfds) + (sb-bsd-sockets:socket-file-descriptor + (socket x)) + rfds) (setf (state x) :READ)))))))))) #+win32 From ehuelsmann at common-lisp.net Fri Aug 8 21:08:41 2008 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Fri, 8 Aug 2008 17:08:41 -0400 (EDT) Subject: [usocket-cvs] r423 - usocket/trunk/backend Message-ID: <20080808210841.F19BB39622@common-lisp.net> Author: ehuelsmann Date: Fri Aug 8 17:08:41 2008 New Revision: 423 Modified: usocket/trunk/backend/sbcl.lisp Log: Fix the fixed fix. Modified: usocket/trunk/backend/sbcl.lisp ============================================================================== --- usocket/trunk/backend/sbcl.lisp (original) +++ usocket/trunk/backend/sbcl.lisp Fri Aug 8 17:08:41 2008 @@ -334,8 +334,8 @@ (multiple-value-bind (count err) (sb-unix:unix-fast-select - (1+ (reduce #'max (wait-list-%wait sockets)) - :key #'sb-bsd-sockets:socket-file-descriptor) + (1+ (reduce #'max (wait-list-%wait sockets) + :key #'sb-bsd-sockets:socket-file-descriptor)) (sb-alien:addr rfds) nil nil (when timeout secs) musecs) (if (null count)