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)