Search in sources :

Example 1 with TestTuple

use of com.ibm.streamsx.topology.internal.tester.tcp.TestTuple in project streamsx.topology by IBMStreams.

the class TesterSink method processPunctuation.

@Override
public void processPunctuation(StreamingInput<Tuple> port, Punctuation mark) throws Exception {
    super.processPunctuation(port, mark);
    if (mark == Punctuation.FINAL_MARKER) {
        int portIndex = port.getPortNumber();
        TestTuple finalTupleMarker = new TestTuple(portIndex, new byte[0]);
        TCPTestClient client = clients[portIndex];
        client.writeTuple(finalTupleMarker).await();
    }
}
Also used : TCPTestClient(com.ibm.streamsx.topology.internal.tester.tcp.TCPTestClient) TestTuple(com.ibm.streamsx.topology.internal.tester.tcp.TestTuple)

Example 2 with TestTuple

use of com.ibm.streamsx.topology.internal.tester.tcp.TestTuple in project streamsx.topology by IBMStreams.

the class TesterSink method processBatch.

@Override
protected boolean processBatch(Queue<BatchedTuple> batch) throws Exception {
    List<WriteFuture> futures = new ArrayList<>(batch.size());
    for (BatchedTuple bt : batch) {
        int portIndex = bt.getStream().getPortNumber();
        TCPTestClient client = clients[portIndex];
        BinaryEncoding be = encoders[portIndex];
        byte[] tupleData = new byte[(int) be.getEncodedSize(bt.getTuple())];
        be.encodeTuple(bt.getTuple(), ByteBuffer.wrap(tupleData));
        TestTuple tt = new TestTuple(portIndex, tupleData);
        futures.add(client.writeTuple(tt));
    }
    for (WriteFuture future : futures) {
        future.await();
    }
    return false;
}
Also used : TCPTestClient(com.ibm.streamsx.topology.internal.tester.tcp.TCPTestClient) WriteFuture(org.apache.mina.core.future.WriteFuture) TestTuple(com.ibm.streamsx.topology.internal.tester.tcp.TestTuple) ArrayList(java.util.ArrayList) BinaryEncoding(com.ibm.streams.operator.encoding.BinaryEncoding)

Aggregations

TCPTestClient (com.ibm.streamsx.topology.internal.tester.tcp.TCPTestClient)2 TestTuple (com.ibm.streamsx.topology.internal.tester.tcp.TestTuple)2 BinaryEncoding (com.ibm.streams.operator.encoding.BinaryEncoding)1 ArrayList (java.util.ArrayList)1 WriteFuture (org.apache.mina.core.future.WriteFuture)1