use of org.neo4j.bolt.v1.messaging.message.RequestMessage in project neo4j by neo4j.
the class MessageMatchers method messages.
public static List<RequestMessage> messages(byte[] bytes) throws IOException {
BoltRequestMessageReader unpacker = requestReader(bytes);
BoltRequestMessageRecorder consumer = new BoltRequestMessageRecorder();
try {
while (unpacker.hasNext()) {
unpacker.read(consumer);
}
return consumer.asList();
} catch (Throwable e) {
throw new IOException("Failed to deserialize response, '" + e.getMessage() + "'. Messages read so " + "far: \n" + consumer.asList() + "\n" + "Raw data: \n" + HexPrinter.hex(bytes));
}
}
use of org.neo4j.bolt.v1.messaging.message.RequestMessage in project neo4j by neo4j.
the class FragmentedMessageDeliveryTest method serialize.
private byte[] serialize(int chunkSize, RequestMessage... msgs) throws IOException {
byte[][] serialized = new byte[msgs.length][];
for (int i = 0; i < msgs.length; i++) {
RecordingByteChannel channel = new RecordingByteChannel();
BoltRequestMessageWriter writer = new BoltRequestMessageWriter(new Neo4jPack.Packer(new BufferedChannelOutput(channel)), NO_BOUNDARY_HOOK);
writer.write(msgs[i]).flush();
serialized[i] = channel.getBytes();
}
return Chunker.chunk(chunkSize, serialized);
}
use of org.neo4j.bolt.v1.messaging.message.RequestMessage in project neo4j by neo4j.
the class MessageMatchers method serialize.
public static byte[] serialize(RequestMessage... messages) throws IOException {
final RecordingByteChannel rawData = new RecordingByteChannel();
final BoltRequestMessageWriter packer = new BoltRequestMessageWriter(new Neo4jPack.Packer(new BufferedChannelOutput(rawData)), NO_BOUNDARY_HOOK);
for (RequestMessage message : messages) {
packer.write(message);
}
packer.flush();
return rawData.getBytes();
}
use of org.neo4j.bolt.v1.messaging.message.RequestMessage in project neo4j by neo4j.
the class BoltRequestMessageTest method serializeAndDeserialize.
private <T extends RequestMessage> T serializeAndDeserialize(T msg) throws IOException {
RecordingByteChannel channel = new RecordingByteChannel();
BoltRequestMessageReader reader = new BoltRequestMessageReader(new Neo4jPack.Unpacker(new BufferedChannelInput(16).reset(channel)));
BoltRequestMessageWriter writer = new BoltRequestMessageWriter(new Neo4jPack.Packer(new BufferedChannelOutput(channel)), NO_BOUNDARY_HOOK);
writer.write(msg).flush();
channel.eof();
return unpack(reader, channel);
}
use of org.neo4j.bolt.v1.messaging.message.RequestMessage in project neo4j by neo4j.
the class ResetFuzzTest method dispatchRandomSequenceOfMessages.
private void dispatchRandomSequenceOfMessages(BoltMessageRouter messageHandler) {
List<RequestMessage> sequence = sequences.get(rand.nextInt(sequences.size()));
for (RequestMessage message : sequence) {
sent.add(message);
message.dispatch(messageHandler);
}
}
Aggregations