Hi Tomas

I think it's not quite polite to directly emulate another package's interface 
(and creating other package's Lisp package), so you shouldn't expect after 
loading IOlib.usocket, you got a package "usocket" with all functionalities of 
usocket in it. However, with a slightly changed Lisp package name, the whole 
idea is possible, just like what CFFI tries to emulate UFFI  by using a 
separated system "cffi-uffi.asd".  Any way, this is something not cared by me, 
because I'm not the maintainer of IOlib.

What I cared is to make exist usocket users and applications live better 
without making any explicit code changes into their own code base. By using 
IOlib as a backend, usocket's WAIT-FOR-INPUT function now can directly use 
IOlib's strong I/O multiplexing facility and exceed the 512 fd limitation when 
using select().  I also care those platforms in which CFFI and IOlib is not 
available, so a plain usocket implementation is still needed.

On 24/giu/2013, at 17:56, Tomas Hlavaty <tomas.hlav...@knowledgetools.de> wrote:

> Hi binghe,
> 
> you are welcome.  Both iolib and usocket seem to be under the MIT licence so 
> I don't see a problem on that front.
> 
> However, shouldn't the code be merged into iolib only rather than merging it 
> into both iolib and usocket?  The whole of the iolib winapi port makes it 
> quite a lot of code.  It would be a shame to sacrifice the winapi part 
> especially when usocket is all about portability API.
> 
> Also, as Anton pointed out, I find a separate system better solution than 
> pushing a feature.  After all, usocket is an API. When implemented using 
> iolib, why would there be a need to use any code from the original usocket?  
> At the moment we simply asdf-load :iolib.usocket only and all systems 
> depending on usocket work as desired because the required usocket system and 
> usocket:* stuff is in place.
> 
> Cheers,
> 
> Tomas
> 
> On 06/24/2013 11:33 AM, Chun Tian (binghe) wrote:
>> Hi Tomas
>> 
>> Thank you! Then I guess you wouldn't mind if I merge your work into usocket 
>> as the basis of the new IOlib backend? ^_^
>> 
>> --binghe
>> 
>> On 24/giu/2013, at 17:30, Tomas Hlavaty <tomas.hlav...@knowledgetools.de> 
>> wrote:
>> 
>>> Hi all,
>>> 
>>> just in case it might be somehow interesting, we've had iolib.usocket 
>>> system for quite some time in 
>>> http://src.knowledgetools.de/tomas/winapi/index.html It is a simple usocket 
>>> compatibility layer on top of iolib (also works on Windows winapi 32 and 64 
>>> bit).  Not sure what the ipv6 status is though as we don't use that.  IIRC 
>>> I still need to implement translation of iolib conditions to usocket ones, 
>>> but as a precondition for that is unifying conditions from iolib posix and 
>>> winapi backends.  Otherwise, hunchentoot and cl-postgres work well on posix 
>>> and windows using this compatibility layer.
>>> 
>>> Cheers,
>>> 
>>> Tomas
>>> 
>>> On 06/24/2013 11:12 AM, Anton Vodonosov wrote:
>>>> Hello.
>>>> 
>>>> 24.06.2013, 11:22, "Chun Tian (binghe)" <binghe.l...@gmail.com>:
>>>>> To compile usocket with IOlib, user should push :usocket-iolib into their 
>>>>> *feature* first.
>>>> I would like to propose to use some other solution than conditional 
>>>> controlling
>>>> compilation with *reatures*.
>>>> 
>>>> The disadvantage of the conditional compilation is that when my 
>>>> application loads the usocket
>>>> as a dependency, the application doesn't know how usocket will work, 
>>>> because it was dediced
>>>> when usocket was compiled (possible during load of some other application).
>>>> 
>>>> If you give little bit more details about he usocket-iolib functions, I 
>>>> can propose more concrete solutions.
>>>> Very possible the proposal will  be a separate ASDF system, usocket-iolib.
>>>> 
>>>> Best regards,
>>>> - Anton
>>>> 
> 


Reply via email to