Thank you Andrew for this clear explanation.

Epoll is not supported on Solaris. So we will have to think of an alternative 
for this OS (poll which you suggested should work).


As for libuv, we are currently compiling Proton 0.16.0 without it because we 
don't have bandwidth to check if libuv is working on Solaris. I will have to 
discuss internally to see if we can allocate some bandwidth to dealing with 
libuv on Solaris. If you have any input at this level, we will highly 
appreciate it.


Alan Conway stated in another discussion that libuv should fix the slowness we 
detected in the event injection API. I don't know if poll/epoll would also 
address this issue which is a bit critical for us.


Regards,

Adel

________________________________
From: Andrew Stitcher <[email protected]>
Sent: Wednesday, January 4, 2017 12:41:31 AM
To: [email protected]
Subject: Re: [Proton 0.16.0] Is libuv mandatory to compile Proton?

On Mon, 2017-01-02 at 18:11 +0000, Adel Boutros wrote:
> Hello,
>
>
> I downloaded Proton 0.16.0 and started compiling it without Libuv.
> The compilation seems to be passing however I am afraid I might bump
> into some unwanted behavior. at runtime. So I wanted to ask you if
> libuv is needed? If so, what are the consequences if it is not
> available?
>

Currently it's only used for the C proactor broker example, so there
are few consequences of not having it.

In the next release our intention is to move some things (at least the
C++ binding) to the proactor (when using the container API).

We also intend to have 3 different proactor implementations:

1. The libuv version
2. A version based on epoll for Linux
3. A version based on iocp for Windows

Currently we have the libuv proactor and are advanced with the iocp
proactor. The epoll proactor has not been started.

So if everything goes to the current plan you will need libuv to run
the C++ binding on platforms that have neither epoll nor iocp.

If this causes you specific issues please let us know and we will
consider what other options there might be - for instance a proactor
based on pure poll (rather than epoll) would be more portable to POSIX
systems.

Andrew


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to