[usocket-devel] Request for new experimental branch about UDP and others

Erik Huelsmann ehuels at gmail.com
Fri Oct 3 07:19:59 UTC 2008


On Fri, Oct 3, 2008 at 1:09 AM, Chun Tian (binghe)
<binghe.lisp at gmail.com> wrote:
> Hi, Erik
>
> Thanks for your suggestion. It's my pleasure to work with you:)
>
> So, I'll do the following things:
>
> 1) Make a new branch named "experimental-udp", and only commit to this
> branch.
> 2) Do one feature at a time (now is UDP support)
> 3) Defer other part to the future (I'll try to research them in
> LispWorks-UDP package first, and then try them portable)

That looks like a good plan.

> There's still one thing I don't know how to decide, need your opinion:
>
> On LispWorks, there's no official support on UDP, and my LispWorks-UDP
> package is quite successful to let people doing UDP job (there're some real
> customer whom use it in production environment). Obviously I should continue
> maintaining this package for those whom only writing applications on
> LispWorks.
>
> For usocket UDP networking on LispWorks, there're two way to merge my work:
>
> One way, let usocket depends on the exist "lispworks-udp" package (just like
> the way usocket-udp does).

For as long as this feature is experimental - and the fact that no
other package provides lispworks-udp - I think it's fine to depend on
lispworks-udp. However, if we decide we want to move code to usocket,
there's a coding pattern I'm not very much at ease with in
lispworks-udp (or, at least, there was such a pattern): you're
invading into an implementation defined/ provided package to define
functions of your own.

As I said, for the purpose of our experimental branch, that's no issue.

> Another way, "copy" more than a half source code of "lispworks-udp" into
> "experimental-udp" to avoid this "unnecessary" external dependency, but this
> will bring some issues to me and USOCKET:
>
> 1) "lispworks-udp" package has 730 lines' source code, and 500+ lines need
> to be copyed. Quite big for "backend/lispworks.lisp"
>
> 2) I have to maintain "two" UDP support code on LispWorks in the future. Any
> bug will be fixed twice.

That depends :-) You can also change the dependencies: make
lispworks-udp depend on usocket-udp by implementing it on top of
usocket. That would mean that you've made lispworks-udp portable to
other platforms :-) Seriously: we'll see. There's little use of
duplicating lots of code in both packages. [OTOH, I'd rather not
depend on too many non-standard packages...]

> So, at this "experimental" stage, I think maybe I should keep the
> lispworks-udp stuff outside first. When UDP on all support CLs are working,
> you can help me to decide whether to keep this additional dependency or not.

That's going to be the plan, like you propose. Thanks again for your
continued efforts!

Bye,

Erik.



More information about the usocket-devel mailing list