All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.ytsaurus.client.bus.Bus Maven / Gradle / Ivy

The newest version!
package tech.ytsaurus.client.bus;

import java.net.SocketAddress;
import java.util.List;
import java.util.concurrent.CompletableFuture;

import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
import io.netty.channel.EventLoop;

/**
 * Интерфейс для передачи сообщений по протоколу bus
 */
public interface Bus {
    /**
     * Возвращает netty канал соединения
     */
    Channel channel();

    /**
     * Возвращает event loop в котором работает соединение
     */
    EventLoop eventLoop();

    /**
     * Возвращает ChannelFuture, сигнализирующий о завершении коннекта
     */
    ChannelFuture connected();

    /**
     * Возвращает ChannelFuture, сигнализирующий о завершении соединения
     */
    ChannelFuture disconnected();

    /**
     * Возвращает ChannelFuture, сигнализирующий о закрытии соединения
     */
    ChannelFuture closed();

    /**
     * Возвращает локальный адрес соединения
     */
    SocketAddress localAddress();

    /**
     * Возвращает удалённый адрес соединения
     */
    SocketAddress remoteAddress();

    /**
     * Инициирует закрытие соединения
     */
    CompletableFuture close();

    /**
     * Инициирует отправку сообщения с указанным уровнем слежения за доставкой
     * 

* В случае вызова CompletableFuture.cancel отправка сообщения может быть отменена */ CompletableFuture send(List message, BusDeliveryTracking level); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy