[usocket-devel] "experimental-udp" branch merged into usocket trunk
Elliott Slaughter
elliottslaughter at gmail.com
Thu Jan 14 04:03:55 UTC 2010
2010/1/13 Chun Tian (binghe) <binghe.lisp at gmail.com>
> Hi, Elliott
>
> 在 2010-1-14,10:02, Elliott Slaughter 写道:
> >
> > [SOCKET-SEND]
> >
> > Syntax: SOCKET-SEND usocket buffer length &key host port
> >
> > SOCKET-SEND is used for sending packets through a UDP usocket, the
> "buffer" arguments usually need to be a vector of (unsigned-byte 8).
> >
> > What does the return value of socket-send mean?
>
> The return value of SOCKET-SEND is a integer which indicated how many bytes
> you actually send. In theory it should equal to the LENGTH argument in
> SOCKET-SEND, unless you're sending too much data. Currently the return
> value when sending fails is not defined clearly, for some CLs "-1" will mean
> "sending fail", but I think I should change it to "NIL" instead in the
> future.
>
I would probably expect usocket to throw an error if the packet failed to be
sent. I would prefer that to having a special return value for failure.
The constant +max-datagram-packet-size+ is defined in usocket.lisp, line 14:
>
> (defconstant +max-datagram-packet-size+ 65536)
>
> I didn't export the symbol +MAX-DATAGRAM-PACKET-SIZE+ because it's a
> constant and hard limit of UDP implementation. Users don't need to change
> it's value, instead, there're extra keyword arguments in API functions when
> user want to set maximum packet sizes.
>
I'm not trying to imply that users would want to change this value, since it
is a system constant, but that users might want to use it as a parameter to
length in socket-receive as usocket throws an error if both buffer and
length are nil. Or you might just want this to be the default (when they are
both nil).
Thanks for answering my questions.
--
Elliott Slaughter
"Don't worry about what anybody else is going to do. The best way to predict
the future is to invent it." - Alan Kay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/usocket-devel/attachments/20100113/093212e2/attachment.html>
More information about the usocket-devel
mailing list