Class TcpQuery<ENV>

  • Type Parameters:
    ENV - Сервис который предоставляется сервером
    All Implemented Interfaces:
    AutoCloseable, xyz.cofe.trambda.Query<ENV>

    public class TcpQuery<ENV>
    extends xyz.cofe.trambda.AsmQuery<ENV>
    implements AutoCloseable
    Клиент для выполнения лямбд на сервере

    Для создания простого клиента посмотрите описание сервера TcpServer.

    Так же сервер может не допускать выполнение клиентского кода по соображениям безопасности. см SecurError

    • Field Detail

      • client

        protected final TcpClient client
        клиент TCP
    • Constructor Detail

      • TcpQuery

        public TcpQuery​(TcpClient client)
        Конструктор
        Parameters:
        client - клиент TCP
    • Method Detail

      • getClient

        public TcpClient getClient()
        Возвращает ссылку на клиента TCP
        Returns:
        клиент TCP
      • create

        public static <ENV> TcpQuery.Builder<ENV> create​(Class<ENV> c)
        Создание клиента
        Type Parameters:
        ENV - Класс сервиса
        Parameters:
        c - Сервис предоставляемый сервером
        Returns:
        Создатель клиента
      • call

        protected <RES> RES call​(xyz.cofe.fn.Fn1<ENV,​RES> fn,
                                 SerializedLambda sl,
                                 xyz.cofe.trambda.LambdaDump dump)
        Реализация вызова лямбды
        Overrides:
        call in class xyz.cofe.trambda.AsmQuery<ENV>
        Type Parameters:
        RES - результат вызова
        Parameters:
        fn - лямбда
        sl - лямбда-сериализация
        dump - дамп лямбды
        Returns:
        результат вызова
      • call

        protected <RES> RES call​(CompileResult key,
                                 SerializedLambda sl)
        Реализация вызова лямбды
        Type Parameters:
        RES - результат вызова
        Parameters:
        key - результат компиляции
        sl - лямбда-сериализация
        Returns:
        результат вызова
      • subscribe

        public <T> T subscribe​(Class<T> cls)
        Подписка на события сервера, см Subscribe
        Type Parameters:
        T - Класс событий
        Parameters:
        cls - Класс событий
        Returns:
        Интерфейс подписки
      • subscribe

        public <T> TcpQuery<ENV> subscribe​(Class<T> cls,
                                           Consumer<T> publishers)
        Подписка на события сервера, см Subscribe
        Type Parameters:
        T - Класс событий
        Parameters:
        cls - Класс событий
        publishers - подписчик
        Returns:
        SELF ссылка