Firefly v4.6.1 is released

03 Dec 2017, Alvin Qiu

Firefly v4.6.1 improves the performance of network tools. When you send data on a slow network, the data will save in a buffer queue, and then the Firefly will merge the data that in the queue automatically. It reduces registered write event number and the cost of the thread context switching.

In this version, we set the OpenSSL is default SSL engine provider. And we add a new SSL engine provider Google Conscrypt as an experimental function. Such as:

public class HTTPsServerDemo {
    public static void main(String[] args) throws Exception {
        Path path = Paths.get(HTTPsServerDemo.class.getResource("/").toURI());

        $.httpsServer(new ConscryptSecureSessionFactory())
         .router().get("/").handler(ctx -> ctx.end("hello world!"))
         .router().get("/static/*")
         .handler(new StaticFileHandler(path.toAbsolutePath().toString()))
         .listen("localhost", 8081);
    }
}

Conscrypt is a Java Security Provider (JSP) that implements parts of the Java Cryptography Extension (JCE) and Java Secure Socket Extension (JSSE). It uses BoringSSL to provide cryptographical primitives and Transport Layer Security (TLS) for Java applications. The newest version is 1.0.0.RC13. It still has some compatibility problems in our tests.

Update log:

  1. Improves performance of network tools.
  2. Set the OpenSSL is default SSL engine provider.
  3. Fix the SSL handshake state logic mistake.
  4. Fix the close TCP connection exception when the connection is timeout.