use of org.neo4j.bolt.messaging.RequestMessage in project neo4j by neo4j.
the class BoltProtocolV4ComponentFactory method encode.
public static byte[] encode(Neo4jPack neo4jPack, RequestMessage... messages) throws IOException {
RecordingByteChannel rawData = new RecordingByteChannel();
Neo4jPack.Packer packer = neo4jPack.newPacker(new BufferedChannelOutput(rawData));
BoltRequestMessageWriter writer = requestMessageWriter(packer);
for (RequestMessage message : messages) {
writer.write(message);
}
writer.flush();
return rawData.getBytes();
}
use of org.neo4j.bolt.messaging.RequestMessage in project neo4j by neo4j.
the class BoltProtocolV3ComponentFactory method encode.
public static byte[] encode(Neo4jPack neo4jPack, RequestMessage... messages) throws IOException {
RecordingByteChannel rawData = new RecordingByteChannel();
Neo4jPack.Packer packer = neo4jPack.newPacker(new BufferedChannelOutput(rawData));
BoltRequestMessageWriter writer = requestMessageWriter(packer);
for (RequestMessage message : messages) {
writer.write(message);
}
writer.flush();
return rawData.getBytes();
}
use of org.neo4j.bolt.messaging.RequestMessage in project neo4j by neo4j.
the class HelloMessageDecoderTest method testShouldDecodeWhenEmptyRoutingContextProvided.
@Test
void testShouldDecodeWhenEmptyRoutingContextProvided() throws Exception {
Map<String, Object> meta = new HashMap<>();
Map<String, String> parameterMap = new HashMap<>();
RoutingContext routingContext = new RoutingContext(true, parameterMap);
Neo4jPack neo4jPack = newNeo4jPack();
meta.put("user_agent", "My Driver");
meta.put("routing", parameterMap);
HelloMessage originalMessage = new HelloMessage(meta, routingContext, meta);
PackedInputArray input = new PackedInputArray(encode(neo4jPack, originalMessage));
Neo4jPack.Unpacker unpacker = neo4jPack.newUnpacker(input);
// these two steps are executed before decoding in order to select a correct decoder
unpacker.unpackStructHeader();
unpacker.unpackStructSignature();
RequestMessage deserializedMessage = decoder.decode(unpacker);
assertHelloMessageMatches(originalMessage, deserializedMessage);
assertRoutingContextMatches(originalMessage, deserializedMessage);
}
use of org.neo4j.bolt.messaging.RequestMessage in project neo4j by neo4j.
the class HelloMessageDecoderTest method testShouldDecodeRoutingContext.
@Test
void testShouldDecodeRoutingContext() throws Exception {
Map<String, Object> meta = new HashMap<>();
Map<String, Object> authToken;
Map<String, String> parameterMap = new HashMap<>();
RoutingContext routingContext = new RoutingContext(true, parameterMap);
parameterMap.put("policy", "fast");
parameterMap.put("region", "eu-west");
Neo4jPack neo4jPack = newNeo4jPack();
meta.put("user_agent", "My Driver");
meta.put("routing", parameterMap);
authToken = new HashMap<>(Map.copyOf(meta));
authToken.remove("routing");
HelloMessage originalMessage = new HelloMessage(meta, routingContext, authToken);
PackedInputArray input = new PackedInputArray(encode(neo4jPack, originalMessage));
Neo4jPack.Unpacker unpacker = neo4jPack.newUnpacker(input);
// these two steps are executed before decoding in order to select a correct decoder
unpacker.unpackStructHeader();
unpacker.unpackStructSignature();
RequestMessage deserializedMessage = decoder.decode(unpacker);
assertHelloMessageMatches(originalMessage, deserializedMessage);
assertRoutingContextMatches(originalMessage, deserializedMessage);
}
use of org.neo4j.bolt.messaging.RequestMessage in project neo4j by neo4j.
the class PullMessageDecoderTest method assertOriginalMessageEqualsToDecoded.
private static void assertOriginalMessageEqualsToDecoded(RequestMessage originalMessage, RequestMessageDecoder decoder) throws Exception {
Neo4jPack neo4jPack = newNeo4jPack();
PackedInputArray input = new PackedInputArray(encode(neo4jPack, originalMessage));
Neo4jPack.Unpacker unpacker = neo4jPack.newUnpacker(input);
// these two steps are executed before decoding in order to select a correct decoder
unpacker.unpackStructHeader();
unpacker.unpackStructSignature();
RequestMessage deserializedMessage = decoder.decode(unpacker);
assertEquals(originalMessage, deserializedMessage);
}
Aggregations