public boolean multiRestRequest(HTTPRequestReader request) { final int queries; if (Struct.DB_MULTI_ROUTE_INT == request.getRouteAssoc() ) { queries = Math.min(Math.max(1, (request.structured().readInt(Field.QUERIES))),500); } else { queries = 1; } if (DBRestInFlight.hasRoomFor(queries)) { sendQueries(pm.pool(),queries,request.getConnectionId(),request.getSequenceCode()); return true; } else { return false; } }
public boolean productAll(HTTPRequestReader request) { return publishService.publishTopic((w)->{ StructuredWriter target = w.structured(); target.writeLong(Field.CONNECTION, request.getConnectionId()); target.writeLong(Field.SEQUENCE, request.getSequenceCode()); target.selectStruct(Struct.DB_ALL_QUERY); }); }
if (null!=target) { target.setConnectionId(request.getConnectionId()); target.setSequenceId(request.getSequenceCode());
public boolean productQuery(HTTPRequestReader request) { StructuredReader source = request.structured(); return publishService.publishTopic((w)->{ StructuredWriter target = w.structured(); target.writeInt(Field.ID, source.readInt(Field.ID)); target.writeLong(Field.CONNECTION, request.getConnectionId()); target.writeLong(Field.SEQUENCE, request.getSequenceCode()); target.selectStruct(Struct.DB_PRODUCT_QUERY); }); }
if (null!=target && -1==target.getStatus()) { target.setConnectionId(request.getConnectionId()); target.setSequenceId(request.getSequenceCode()); assert(target.getStatus()==-1);//waiting for work target.setStatus(-2);//out for work
long seqCode = request.getSequenceCode();
public boolean productUpdate(HTTPRequestReader request) { StructuredReader source = request.structured(); return publishService.publishTopic((w)->{ //write update message with new payload plus sequence and connectionID StructuredWriter target = w.structured(); target.writeInt(Field.ID, source.readInt(Field.ID)); target.writeInt(Field.QUANTITY, source.readInt(Field.QUANTITY)); target.writeBoolean(Field.DISABLED, source.readBoolean(Field.DISABLED)); //source.readText(Field.NAME, target.writeText(Field.NAME)); //Broken?? target.writeText(Field.NAME, source.readText(Field.NAME)); target.writeLong(Field.CONNECTION, request.getConnectionId()); target.writeLong(Field.SEQUENCE, request.getSequenceCode()); target.selectStruct(Struct.DB_PRODUCT_UPDATE); }); }