I may be wrong but Epoll is only a Linux thing probably.

You don't have it on Mac or Windows

Enrico

Il Gio 15 Giu 2023, 19:49 Andor Molnar <an...@apache.org> ha scritto:

> Interesting that with only the BOM included and the dependencies
> without the classifier, Netty doesn't load the native epoll selector,
> but loads the native SSL library.
>
> I'm confused.
>
> In the Pulsar example the sub-project dependency has a hardcoded
> classifier:
>
> <dependency>
>       <groupId>io.netty</groupId>
>       <artifactId>netty-transport-native-epoll</artifactId>
>       <classifier>linux-x86_64</classifier>
> </dependency>
>
> Andor
>
>
>
> On Thu, 2023-06-15 at 14:31 +0200, Enrico Olivelli wrote:
> > I think that the best way currently is to add these dependencies:
> >
> > Import the Netty BOM in the main pom.xml
> > <dependency>
> >   <groupId>io.netty</groupId>
> >   <artifactId>netty-bom</artifactId>
> >   <version>${netty.version}</version>
> >   <type>pom</type>
> >   <scope>import</scope>
> > </dependency>
> >
> >
> > declare netty dependencies without setting the version and the
> > classifier
> > <dependency>
> >   <groupId>io.netty</groupId>
> >   <artifactId>netty-tcnative-boringssl-static</artifactId>
> > </dependency>
> >
> > This is the way we are doing it in Pulsar
> >
> https://github.com/apache/pulsar/blob/d7f355881b2b1eebf2be6ea262c202660d684fb7/pom.xml#L647
> >
> https://github.com/apache/pulsar/blob/d7f355881b2b1eebf2be6ea262c202660d684fb7/pulsar-common/pom.xml#L146
> >
> > This way Maven should bundle all the native libraries for all the
> > supported platforms
> >
> >
> >
> > Enrico
> >
> > Il giorno gio 15 giu 2023 alle ore 12:50 Andor Molnar
> > <an...@apache.org> ha scritto:
> > > Hi,
> > >
> > > I've come across the following when working on the support of
> > > native
> > > SSL libraries. Currently ZooKeeper supports loading the native
> > > epoll-
> > > based event loop of Netty, but a build profile which would download
> > > the
> > > required dependencies is not shipped with our product.
> > >
> > > This is perfectly okay since the feature of using native libraries
> > > is
> > > not a build-time requirement, but in this case the user has to
> > > download
> > > the required and appropriate versions of Netty jars and put them on
> > > the
> > > classpath.
> > >
> > > Shall we add a Maven build profile to ease this process?
> > >
> > > <profile>
> > >   <id>netty-native</id>
> > >   <properties>
> > >     <os.detection.classifierWithLikes>fedora</os.detection.classifi
> > > erWi
> > > thLikes>
> > >   </properties>
> > >   <dependencyManagement>
> > >     <dependencies>
> > >       <dependency>
> > >         <groupId>io.netty</groupId>
> > >         <artifactId>netty-tcnative-boringssl-static</artifactId>
> > >         <version>${netty-tcnative.version}</version>
> > >         <classifier>${os.detected.classifier}</classifier>
> > >       </dependency>
> > >       <dependency>
> > >         <groupId>io.netty</groupId>
> > >         <artifactId>netty-transport-native-epoll</artifactId>
> > >         <version>${netty.version}</version>
> > >         <classifier>${os.detected.classifier}</classifier>
> > >       </dependency>
> > >     </dependencies>
> > >   </dependencyManagement>
> > > </profile>
> > >
> > > What do you think?
> > >
> > > Andor
> > >
> > >
> > >
>
>

Reply via email to