static WebSocketHTTPD serveHttpsWithWebsockets_server; static int serveHttpsWithWebsockets_port = 8443; static new TreeSet serveHttpsWithWebsockets_peers; // factory: func(NanoHTTPD.IHTTPSession) -> WebSocket static int serveHttpsWithWebsockets(int port, File keystore, S pass, O factory) ctex { serveHttpsWithWebsockets_port = port; serveHttpsWithWebsockets_server = new WebSocketHTTPD(port, factory); serveHttpsWithWebsockets_server.makeSecure(serveHttps_makeSSLSocketFactory(keystore, pass)); serveHttpsWithWebsockets_server.start(); ret serveHttpsWithWebsockets_port(); } // serve on random port, return port number used static int serveHttpsWithWebsockets(File keystore, S pass, O factory) { serveHttpsWithWebsockets(0, keystore, pass, factory); ret serveHttpsWithWebsockets_port(); } static int serveHttpsWithWebsockets_port() { ret serveHttpsWithWebsockets_server == null ? 0 : serveHttpsWithWebsockets_server.getListeningPort(); } static void cleanMeUp_serveHttpsWithWebsockets() { if (serveHttpsWithWebsockets_server != null) { serveHttpsWithWebsockets_server.stop(); serveHttpsWithWebsockets_server = null; } }