if (accumRunningBytes(that, idx, that.inputs[idx], that.inputChannels[idx]) >=0) {//message idx while (1==(result=parsePipe(that, idx))) {
that.inputBlobPos[idx] = p; assert(that.boundsCheck(idx, totalAvail)); && consumedAllOfActiveFragment(selectedInput, p) that.sendRelease(channel, idx);
ErrorReporter errorReporter2, long arrivalTime, long ccId) { int requestContext = keepAliveOrNotContext(httpRevisionId, serverConnection.id); return endOfHeader(trieReader, writer, errorReporter2, arrivalTime, ccId, requestContext, postLength, iteration); return noHeaderToken(serverConnection, errorReporter2, ccId, requestContext, remainingLen); } else if (HTTPSpecification.UNKNOWN_HEADER_ID != headerToken) { HTTPHeader header = config.getAssociatedObject(headerToken); assert(Arrays.equals(HTTPHeaderDefaults.CONNECTION.rootBytes(),header.rootBytes())) : "Custom enums must share same ordinal positions, CONNECTION does not match"; requestContext = applyKeepAliveOrCloseToContext(requestContext, trieReader, serverConnection.id); assert(confirmCoreHeadersSupported(trieReader));
arrivalTime = extractArrivalTime((Pipe<NetPayloadSchema>) that.inputs[idx]); state = that.parseHTTPFromTop(that.trieReader, channel, idx, arrivalTime, iteration++, (Pipe<NetPayloadSchema>) that.inputs[idx]); logTraffic(that, (Pipe<NetPayloadSchema>) that.inputs[idx], channel, arrivalTime, seqForLogging, posForLogging, totalConsumed); result = consumeBlock(that, idx, (Pipe<NetPayloadSchema>) that.inputs[idx], channel, that.inputBlobPos[idx], totalAvail, totalConsumed,
assert(config.getStructIdForRouteId(routeId) == structId) : "internal error"; DataOutputBlobWriter.tryClearIntBackData(writer,config.totalSizeOfIndexes(structId)); if (!captureAllArgsFromURL(config, trieReader, pathId, writer)) { return sendError(trieReader, channel, idx, tempLen, tempPos); int httpRevisionId = (int)TrieParserReader.parseNext(trieReader, config.revisionMap, -1, -2); // GET /hello/x?x=3 HTTP/1.1 if (httpRevisionId<0) { return noRevisionProcessing(trieReader, channel, idx, tempLen, tempPos, outputPipe, writer, httpRevisionId); requestContext = parseHeaderFields(trieReader, pathId, headerMap, writer, serverCon, httpRevisionId, config,
} else { badVerbParse(trieReader, channel, idx, tempLen, tempPos); return SUCCESS; } else { sendError(trieReader, channel, idx, tempLen, tempPos, 404); return SUCCESS; sendError(trieReader, channel, idx, tempLen, tempPos, 404); int result = parseHTTPImpl(trieReader, channel, idx, arrivalTime, tempLen, tempPos, verbId, pathId, routeId, outputPipe); if (result != SUCCESS) { trieReader.sourceLen = tempLen;
HTTPRouterStageConfig<T,R,V,H> config, ServerCoordinator coordinator, boolean catchAll) { return new HTTP1xRouterStage<T,R,V,H>(gm,parallelId,input,outputs, errorResponsePipe, log, ackStop, config, coordinator, catchAll); ServerCoordinator coordinator, boolean catchAll) { return new HTTP1xRouterStage<T,R,V,H>(gm,parallelId, input,outputs, errorResponsePipe, log, ackStop, config, coordinator, catchAll); boolean catchAll) { super(gm,input,join(join(outputs,ackStop,errorResponsePipe),log));
return parseHTTPAvail(this, idx, channel, false); } else { Pipe<NetPayloadSchema> selectedInput = inputs[idx]; return commitWrite(idx, selectedInput, channel, totalAvail, outputPipe, backing, mask, pos, finOpp, headerSize, msk, length);