Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

LispWorks-UDP 4.0

Hi, LispWorks Users

I'm pleased to release the version 4.0 of LispWorks-UDP! I call it "a big step":)

Major changes in this release:

* Move all source code from COMM to "COMM+" package, which stop the hacking of COMM.
All external symbols of COMM is also exported to new COMM+ package, the compatibility of
LW's TCP facility didn't break, so just change your code to COMM+ will works.

* UNIX Domain Socket support is added but only as a client. Server support is not finished yet.
Both stream and datagram socket are supported, for stream socket, LW's COMM:SOCKET-STREAM
can be used the same as TCP socket, for datagram, you can use SEND-MESSAGE and
RECEIVE-MESSAGE the same as UDP socket in LispWorks-UDP.

* WAIT-FOR-INPUT function from USOCKET project is ported into LispWorks-UDP. This function
is quite useful for waiting the sockets which available of READ. With it, the
SOCKET-RECEIVE-TIMEOUT may not needed to set.
Note: currently only non-win32 platform is supported. TCP compatibility is not added.

* Encapsulation datagram socket (both UDP and unix) into CLOS classes:
INET-DATAGRAM, and UNIX-DATAGRAM, both of them are subclass of SOCKET-DATAGRAM,
All interface function operates on instances of above classes instead of raw socket fd.
This changes can be easier to add property or status slot for datagram sockets
and make sure they're closed when being GCed.

Incompatible API changes:

* [API Change] SEND-MESSAGE and RECEIVE-MESSAGE's optional arguments become keyword arguments

* [API Change] RECEIVE-MESSAGE's 3rd return value (remote-address) is a 32bit integer now,
If you want to string-like IPv4 address, call COMM:IP-ADDRESS-STRING yourself.

* [API Change] SET-SOCKET-RECEIVE-TIMEOUT and GET-SOCKET-RECEIVE-TIMEOUT change name to
SOCKET-RECEIVE-TIMEOUT and (SETF SOCKET-RECEIVE-TIMEOUT)

For sample usage, see TEST.LISP in source code.
For full API documentation, see README in source code.

(The LispWorks-UDP 3.x is still maintained but 2.x and 1.x will not be maintained ever.)

The new LispWorks-UDP project page is here: (contains download links)

http://common-lisp.net/project/cl-net-snmp/lispworks.html

Posted by Chun Tian (binghe) 2008-11-22