The HTTP/2 protocol is the latest evolution of the HTTP protocol addressing the issue of HTTP/TCP impedance mismatch. Web applications have been working around this problem for years employing techniques like concatenation or css spriting to reduce page load time and improve user experience. HTTP/2 is also a game changer on the server enabling increased concurrency. This talk will focus on the impact HTTP/2 will have on the server and examine how particularly well adapted the Vert.x concurrency model is to serve HTTP/2 applications.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
Vagrant.configure("2") do |config| | |
config.vm.box = "vertx/win10" | |
config.vm.box_url = "http://209.132.178.63/vagrant/Win10.box" | |
# big timeout since windows boot is very slow | |
config.vm.boot_timeout = 500 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# You will need Mercurial; get it with `brew install hg`. | |
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u | |
cd jdk8u | |
hg update jdk8u92-b14 | |
chmod +x ./get_source.sh; ./get_source.sh | |
cd hotspot/src/share/tools/hsdis | |
wget http://ftp.heanet.ie/mirrors/gnu/binutils/binutils-2.26.tar.gz | |
tar -xzf binutils-2.26.tar.gz | |
make BINUTILS=binutils-2.26 ARCH=amd64 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.lang.instrument.Instrumentation; | |
import java.lang.reflect.Layer; | |
import java.lang.reflect.Module; | |
import java.util.*; | |
public class WeakeningAgent { | |
public static void premain(String argument, Instrumentation instrumentation) { | |
boolean full = argument != null && argument.equals("full"); | |
Set<Module> importing = new HashSet<>(), exporting = new HashSet<>(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import io.vertx.core.Vertx; | |
import io.vertx.core.net.KeyCertOptions; | |
import javax.net.ssl.*; | |
import java.net.Socket; | |
import java.security.*; | |
import java.security.cert.X509Certificate; | |
public class DynamicCertOptions implements KeyCertOptions { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The following is based on a fresh Ubuntu 18.04.2 LTS with gcc, make and perl already | |
# installed (not that perl has anything to do with any of this..) | |
# | |
# This is based on JDK 11 but for JDK 12 I've confirmed it builds ok with binutils-2.29 | |
# and binutils-2.32 | |
apt install mercurial | |
# Be nice if this didn't check out the universe | |
hg clone http://hg.openjdk.java.net/jdk/jdk11/ | |
cd jdk11/src/utils/hsdis/ |
OlderNewer