Ventis is an asynchronous, clean and optimized api made for sending packets across servers.
Ventis currently supports multiple connection types:
VentisConfig config = VentisConfig.builder()
.codec(new JacksonCodec()) // You can use any codec, even create your own!
.channel("bukkit")
.build();
Ventis ventis = new Ventis(config);
RedisConfig redisConfig = RedisConfig.builder()
.address("localhost")
.port(6379)
.build();
RedisConnection connection = new RedisConnection(ventis, redisConfig);
// Get a connection from its class:
RedisConnection redisConnection = ventis.getConnection("redis", RedisConnection.class);
ventis.registerListener(new ExampleListener());
connection.sendPacket(new ExamplePacket(), "channel");
@Getter
public class ExamplePacket extends Packet {
private boolean flying = false;
}
public class ExampleListener implements PacketListener {
@PacketHandler(channels = {"channel1", "channel2"}) // Channels are optional.
public void onExamplePacket(ExamplePacket packet) {
System.out.println("Penguins " + (packet.isFlying() ? "can" : "cant") + " fly.");
}
}