public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.CustomMessage.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setType(input.readInt32()); break; case 2: builder.setMessage(com.google.protobuf.ByteString.copyFrom(input.readByteArray())); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(org.apache.drill.exec.proto.BitControl.CustomMessage.Builder builder)
public Response handle(CustomMessage message, DrillBuf dBody) throws RpcException { final ParsingHandler<?, ?> handler; try (@SuppressWarnings("unused") Closeable lock = read.open()) { handler = handlers.get(message.getType()); } if (handler == null) { throw new UserRpcException( endpoint, "Unable to handle message.", new IllegalStateException(String.format( "Unable to handle message. The message type provided [%d] did not have a registered handler.", message.getType()))); } final CustomResponse<?> customResponse = handler.onMessage(message.getMessage(), dBody); @SuppressWarnings("unchecked") final CustomMessage responseMessage = CustomMessage.newBuilder() .setMessage( ByteString.copyFrom(((Controller.CustomSerDe<Object>) handler.getResponseSerDe()) .serializeToSend(customResponse .getMessage()))) .setType(message.getType()) .build(); // make sure we don't pass in a null array. final ByteBuf[] dBodies = customResponse.getBodies() == null ? new DrillBuf[0] : customResponse.getBodies(); return new Response(RpcType.RESP_CUSTOM, responseMessage, dBodies); }
public void mergeFrom(com.dyuproject.protostuff.Input input, org.apache.drill.exec.proto.BitControl.CustomMessage.Builder builder) throws java.io.IOException { for(int number = input.readFieldNumber(this);; number = input.readFieldNumber(this)) { switch(number) { case 0: return; case 1: builder.setType(input.readInt32()); break; case 2: builder.setMessage(com.google.protobuf.ByteString.copyFrom(input.readByteArray())); break; default: input.handleUnknownField(number, this); } } } public boolean isInitialized(org.apache.drill.exec.proto.BitControl.CustomMessage.Builder builder)
/** * Send a message and receive a future for monitoring the outcome. * @param messageToSend * The structured message to send. * @param dataBodies * One or more optional unstructured messages to append to the structure message. * @return The CustomFuture that can be used to wait for the response. */ public CustomFuture<RECEIVE> send(SEND messageToSend, ByteBuf... dataBodies) { final CustomMessage customMessage = CustomMessage.newBuilder() .setMessage(ByteString.copyFrom(send.serializeToSend(messageToSend))) .setType(messageTypeId) .build(); final SyncCustomMessageSender b = new SyncCustomMessageSender(customMessage, dataBodies); manager.runCommand(b); DrillRpcFuture<CustomMessage> innerFuture = b.getFuture(); return new CustomFuture<RECEIVE>(receive, innerFuture); }
/** * Send a message using a custom listener. * @param listener * The listener to inform of the outcome of the sent message. * @param messageToSend * The structured message to send. * @param dataBodies * One or more optional unstructured messages to append to the structure message. */ public void send(RpcOutcomeListener<RECEIVE> listener, SEND messageToSend, ByteBuf... dataBodies) { final CustomMessage customMessage = CustomMessage.newBuilder() .setMessage(ByteString.copyFrom(send.serializeToSend(messageToSend))) .setType(messageTypeId) .build(); manager.runCommand(new CustomMessageSender(new CustomTunnelListener(listener), customMessage, dataBodies)); }
public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.CustomMessage other) { if (other == org.apache.drill.exec.proto.BitControl.CustomMessage.getDefaultInstance()) return this; if (other.hasType()) { setType(other.getType()); } if (other.hasMessage()) { setMessage(other.getMessage()); } this.mergeUnknownFields(other.getUnknownFields()); return this; }
public Builder mergeFrom(org.apache.drill.exec.proto.BitControl.CustomMessage other) { if (other == org.apache.drill.exec.proto.BitControl.CustomMessage.getDefaultInstance()) return this; if (other.hasType()) { setType(other.getType()); } if (other.hasMessage()) { setMessage(other.getMessage()); } this.mergeUnknownFields(other.getUnknownFields()); return this; }