[usocket-devel] LispWorks and UDP

Erik Huelsmann ehuels at gmail.com
Thu Jan 31 21:27:49 UTC 2008


On Jan 30, 2008 4:03 AM, Chun Tian (binghe) <binghe.lisp at gmail.com> wrote:
> Hi, Erik
>
> I'm a Linux system administrator, and I need a UDP universal interface
> for my SNMP, and IPMI work.
> Now I have to port to every CL platform by myself, but I think maybe I
> should do this by patch usocket to support UDP.

Ah. In that case, sorry for misunderstanding you. I thought that you
were offering me to be allowed to integrate your UDP code into the
usocket code base. Now I think I understand that you want to work with
me on getting UDP implemented on at least 3 backends.

Ofcourse, working together on integrating UDP for more than one
backend is absolutely fine. I've looked at your udp lispworks link.

While studying sockets and especially datagram sockets, I found that
there are 2 ways for a datagram socket to operate

1) connected - in which case it operates like a tcp socket, sending
packets to and receiving from one peer (except for the streamy
properties)
2) unconnected - in which case the socket can send messages to and
receive messages (datagrams) from any other IP address

When implementing UDP, I think it would be wise to decide beforehand
if it will be possible to implement both modes of operation and if so,
how. I see you only implemented (1); did you not care about (2), or
have you already decided it won't be possible to implement it?


As far as usocket goes: yes, I have a bit of framework already set up,
but it's only minor: there is a datagram-usocket class reserved for
exactly this purpose. What I've done however is decide to (try to)
keep usocket interfaces from being explicitly IP specific. This means
that UDP would be implemented in terms of a datagram protocol, without
hardcoding specifics of IP address/port combinations. (Unfortunately,
socket-connect isn't a good example of this.)  When we can stick to
that goal, it would be great for me.



> Is there any UDP porting framework which already exist in usocket? I'm
> very interesting in getting UDP support to work on LispWorks, SBCL,
> and OpenMCL, the three main platforms I use.

No problem. If you can do those 3, I'll try to find time to do any
others we find necessary before we can declare a new release.

So, do you agree with the above? Can we work on this together?

bye,


Erik.

> Regards,
>
> Chun TIAN (binghe)
>
>
> > On Jan 29, 2008 8:21 PM, Chun Tian (binghe) <binghe.lisp at gmail.com>
> > wrote:
> >> Hi, usocket developer
> >>
> >> Recently I wrote a LispWorks UDP support package for my pure lisp
> >> SNMP
> >> package. I use the FFI function which already in LispWorks to do a
> >> UDP job,
> >> and implement a interface which very like the exist TCP interface.
> >>
> >> You can find my code here:
> >>
> >> URL:
> >> https://cl-net-snmp.svn.sourceforge.net/svnroot/cl-net-snmp/lispworks-udp/trunk
> >>
> >> Seems LispWorks, Ltd. didn't have any plan for UDP support, this
> >> package may
> >> help for usocket to implement a universal socket interface. I'll be
> >> glad for
> >> usocket to use my code, you can asdf depend it or just merge it.
> >
> > Thanks for the offer! I'm still working at 'tidying up' the TCP
> > support, but once that's done, I'll be sure to have a look at your UDP
> > code, because we'll want to offer UDP to usocket users when TCP is
> > available.
> >
> >
> > Thanks again!
> >
> > bye,
> >
> > Erik.
>
>



More information about the usocket-devel mailing list