s/food gun/foot gun. :)

On Wed, Aug 17, 2016 at 10:47 AM, Tim Caswell <[email protected]> wrote:

> Blocking I/O is the default in most existing libraries, especially ones
> binding to C/C++ libraries.  This is the reason that luvit 1.0 explicitly
> broke compatibility with lua's native require and luarocks.
>
> I didn't want to face the problem of people accidentally pulling in some
> blocking dependency and then publishing benchmarks about how slow luvit
> is.  I've since changed my mind and decided that it's not my job to prevent
> this kind of food gun.  I give you the tools, do with them as you wish.
>
> On Wed, Aug 17, 2016 at 10:44 AM, Tim Caswell <[email protected]> wrote:
>
>> You can probably require it, but if the library makes blocking I/O calls,
>> it defeats the purpose of using a non-blocking event loop.  Your server
>> will have a max concurrency of 1 as soon as you add any blocking calls into
>> the request handling.
>>
>> On Wed, Aug 17, 2016 at 6:08 AM, Dmitri Voronianski <
>> [email protected]> wrote:
>>
>>> Also is it possible to require lua modules like
>>> https://github.com/moai/luamongo in luvit now?
>>>
>>> 2016-08-15 20:57 GMT+02:00 Tim Caswell <[email protected]>:
>>>
>>>> Yes, this is by design.  The prefix in the lit namespace is the
>>>> publisher, not the package name.  That way multiple people can publish
>>>> packages with the same name.  Think of github forks.
>>>>
>>>> On Mon, Aug 15, 2016 at 10:23 AM, Dmitri Voronianski <
>>>> [email protected]> wrote:
>>>>
>>>>> I've published module to Lit with such package.lua:
>>>>>
>>>>> return {
>>>>>   name = "voronianski/utopia",
>>>>>   version = "1.0.0",
>>>>>   description = "High performance middleware framework for Luvit.io",
>>>>>   repository = {
>>>>>     url = "http://github.com/luvitrocks/luvit-utopia.git";,
>>>>>   },
>>>>>   tags = {"utopia", "express", "connect", "middleware", "server"},
>>>>>   author = {
>>>>>     name = "Dmitri Voronianski",
>>>>>     email = "[email protected]"
>>>>>   },
>>>>>   homepage = "https://github.com/luvitrocks/luvit-utopia";,
>>>>>   licenses = {"MIT"},
>>>>>   dependencies = {},
>>>>>   files = {
>>>>>     "**.lua",
>>>>>     "!test*"
>>>>>   }
>>>>> }
>>>>>
>>>>>
>>>>> But when using it inside another I should require it like:
>>>>>
>>>>> local utopia = require('utopia')
>>>>>
>>>>> but not:
>>>>>
>>>>> local utopia = require('voronianski/utopia')
>>>>>
>>>>> is it by design?
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "luvit" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "luvit" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>>
>>> *Dmitri Voronianski*
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "luvit" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"luvit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to