public String enableTelemetry(String host, int port) { telemetryHost = port>0?NetGraphBuilder.bindHost(host):null; telemetryPort = port; return host; }
/** * Build HTTP client subgraph. This is the easiest method to set up the client calls since many default values are already set. * * @param gm target graph where this will be added * @param httpResponsePipe http responses * @param httpRequestsPipe http requests */ public static void buildHTTPClientGraph(GraphManager gm, int maxPartialResponses, Pipe<NetResponseSchema>[] httpResponsePipe, Pipe<ClientHTTPRequestSchema>[] httpRequestsPipe) { int connectionsInBits = 7; int clientRequestCount = 4; int clientRequestSize = SSLUtil.MinTLSBlock; final TLSCertificates tlsCertificates = TLSCerts.define(); buildHTTPClientGraph(gm, httpResponsePipe, httpRequestsPipe, maxPartialResponses, connectionsInBits, clientRequestCount, clientRequestSize, tlsCertificates); }
@Override public void buildServer(GraphManager gm, ServerCoordinator coordinator, Pipe<ReleaseSchema>[] releaseAfterParse, Pipe<NetPayloadSchema>[] receivedFromNet, Pipe<NetPayloadSchema>[] sendingToNet) { NetGraphBuilder.buildHTTPStages(gm, coordinator, buildModules(output), releaseAfterParse, receivedFromNet, sendingToNet); } });
PipeWriter.publishWrites(output); NetGraphBuilder.buildHTTPClientGraph(gm, httpResponsePipe, httpRequestsPipe, maxPartialResponses, connectionsInBits, clientRequestCount, clientRequestSize, tlsCertificates); ModuleConfig modules = NetGraphBuilder.simpleFileServer(pathRoot, messagesToOrderingSuper, messageSizeToOrderingSuper); HTTPServerConfig c = NetGraphBuilder.serverConfig(port, gm); ((HTTPServerConfigImpl)c).finalizeDeclareConnections(); NetGraphBuilder.buildHTTPServerGraph(gm, modules, c.buildServerCoordinator());
private static void populateGraph(GraphManager gm, String host, int port, String filesPath) { HTTPServerConfig serverConfig = NetGraphBuilder.serverConfig(port, gm); NetGraphBuilder.buildServerGraph(gm, serverCoordinator, new ServerFactory() {
Pipe[][] perTrackFromNet = Pipe.splitPipes(trackCounts, planIncomingGroup); NetGraphBuilder.buildLogging(gm, serverCoord, reqLog, resLog); NetGraphBuilder.buildRouters(gm, serverCoord, acks, fromModulesToOrderSuper, fromRouterToModules, routerConfig, catchAll, reqLog, perTrackFromNet); Pipe<NetPayloadSchema>[] fromOrderedContent = NetGraphBuilder.buildRemainderOfServerStagesWrite(gm, serverCoord, handshakeIncomingGroup); NetGraphBuilder.buildOrderingSupers(gm, serverCoord, fromModulesToOrderSuper, resLog, perTrackFromSuper);
final ModuleConfig modules = buildTelemetryModuleConfig(serverRate); boolean isTLS = tlsCertificates != null; int maxConnectionBits = 8; HTTPServerConfig c = NetGraphBuilder.serverConfig(port, gm); if (!isTLS) { c.useInsecureServer(); NetGraphBuilder.buildServerGraph(gm, serverCoord, factory);
Pipe<HTTPRequestSchema>[][] toModules = new Pipe[coordinator.moduleParallelism()][]; final HTTPRouterStageConfig routerConfig = buildModules(coordinator, graphManager, modules, httpSpec, fromModule, toModules); = Pipe.splitPipes(coordinator.moduleParallelism(), sendingToNet); buildLogging(graphManager, coordinator, reqLog, resLog); buildRouters(graphManager, coordinator, releaseAfterParse, fromModule, toModules, routerConfig, false, reqLog, perTrackFromNet); buildOrderingSupers(graphManager, coordinator, fromModule, resLog, perTrackFromSuper);
HTTPServerConfig c = NetGraphBuilder.serverConfig(7084, gm); c.setHost("127.0.0.1"); if (null == defaultcerts) { ((HTTPServerConfigImpl)c).finalizeDeclareConnections(); NetGraphBuilder.buildHTTPServerGraph(gm, modules, c.buildServerCoordinator()); //test with TLS later. NetGraphBuilder.telemetryServerSetup(defaultcerts,"127.0.0.1",8094, gm, GraphManager.TELEMTRY_SERVER_RATE);;
private ServerCoordinator coordinator(GraphManager gm) { HTTPServerConfig serverConfig = NetGraphBuilder.serverConfig(9999, gm); serverConfig.setHost("127.0.0.1"); serverConfig.setConcurrentChannelsPerDecryptUnit(4); serverConfig.setConcurrentChannelsPerEncryptUnit(4); ((HTTPServerConfigImpl)serverConfig).finalizeDeclareConnections(); return serverConfig.buildServerCoordinator(); } }
coordinator.pcmIn.getConfig(NetPayloadSchema.class)); Pipe<ReleaseSchema>[] ack = buildSocketReaderStage(graphManager, coordinator, coordinator.moduleParallelism(), receivedFromNet = Pipe.buildPipes( coordinator.maxConcurrentInputs, coordinator.pcmIn.getConfig(NetPayloadSchema.class)); handshakeIncomingGroup = populateGraphWithUnWrapStages(graphManager, coordinator, coordinator.serverRequestUnwrapUnits, coordinator.pcmIn.getConfig(NetPayloadSchema.class), receivedFromNet = encryptedIncomingGroup; Pipe<NetPayloadSchema>[] fromOrderedContent = buildRemainderOfServerStagesWrite(graphManager, coordinator, handshakeIncomingGroup);
public static GraphManager buildHTTPServerGraph(final GraphManager graphManager, final ModuleConfig modules, final ServerCoordinator coordinator) { final ServerFactory factory = new ServerFactory() { @Override public void buildServer(GraphManager gm, ServerCoordinator coordinator, Pipe<ReleaseSchema>[] releaseAfterParse, Pipe<NetPayloadSchema>[] receivedFromNet, Pipe<NetPayloadSchema>[] sendingToNet) { buildHTTPStages(gm, coordinator, modules, releaseAfterParse, receivedFromNet, sendingToNet); } }; return buildServerGraph(graphManager, coordinator, factory); }
Pipe[] acks = NetGraphBuilder.buildSocketReaderStage(gm, serverCoord, parallelTrackCount, encryptedIncomingGroup); planIncomingGroup = Pipe.buildPipes(serverConfig.maxConcurrentInputs, serverConfig.pcmIn.getConfig(NetPayloadSchema.class)); handshakeIncomingGroup = NetGraphBuilder.populateGraphWithUnWrapStages(gm, serverCoord, serverConfig.serverRequestUnwrapUnits, serverConfig.pcmIn.getConfig(NetPayloadSchema.class),
PipeWriter.publishWrites(output); NetGraphBuilder.buildHTTPClientGraph(gm, httpResponsePipe, httpRequestsPipe, maxPartialResponses, connectionsInBits, clientRequestCount, clientRequestSize, tlsCertificates); ModuleConfig modules = NetGraphBuilder.simpleFileServer(pathRoot, messagesToOrderingSuper, messageSizeToOrderingSuper); HTTPServerConfig c = NetGraphBuilder.serverConfig(port, gm); NetGraphBuilder.buildHTTPServerGraph(gm, modules, c.buildServerCoordinator());
private static void populateGraph(GraphManager gm, String host, int port, String logFilePath) { HTTPServerConfig serverConfig = NetGraphBuilder.serverConfig(port, gm); NetGraphBuilder.buildServerGraph(gm, serverCoordinator, new ServerFactory() {
HTTPServerConfig serverConfig = NetGraphBuilder.serverConfig(port, gm); serverConfig.setHost(bindHost) .setMaxConnectionBits(maxConnBits)
PipeWriter.publishWrites(output); NetGraphBuilder.buildHTTPClientGraph(gm, httpResponsePipe, httpRequestsPipe, maxPartialResponses, connectionsInBits, clientRequestCount, clientRequestSize, tlsCertificates); StringBuilder results = new StringBuilder(); ModuleConfig modules = NetGraphBuilder.simpleFileServer(pathRoot, messagesToOrderingSuper, messageSizeToOrderingSuper); HTTPServerConfig c = NetGraphBuilder.serverConfig(port, gm); ((HTTPServerConfigImpl)c).finalizeDeclareConnections(); NetGraphBuilder.buildHTTPServerGraph(gm, modules, c.buildServerCoordinator()); runRoundTrip(gm, results);
HTTPServerConfig serverConfig = NetGraphBuilder.serverConfig(port, gm); serverConfig.setHost(bindHost) .setMaxConnectionBits(maxConnBits)
public String enableTelemetry(int port) { telemetryHost = port>0?NetGraphBuilder.bindHost(telemetryHost):null; telemetryPort = port; return telemetryHost; }
@Override public void buildServer(GraphManager gm, ServerCoordinator coordinator, Pipe<ReleaseSchema>[] releaseAfterParse, Pipe<NetPayloadSchema>[] receivedFromNet, Pipe<NetPayloadSchema>[] sendingToNet) { buildHTTPStages(gm, coordinator, modules, releaseAfterParse, receivedFromNet, sendingToNet); }