Package xyz.cofe.trambda.tcp
Class TcpQuery<ENV>
- java.lang.Object
-
- xyz.cofe.trambda.AsmQuery<ENV>
-
- xyz.cofe.trambda.tcp.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTcpQuery.Builder<ENV>Создатель клиента
-
Field Summary
Fields Modifier and Type Field Description protected TcpClientclientклиент TCPprotected Map<xyz.cofe.fn.Fn1<?,?>,CompileResult>fnKeys
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <RES> REScall(xyz.cofe.fn.Fn1<ENV,RES> fn, SerializedLambda sl, xyz.cofe.trambda.LambdaDump dump)Реализация вызова лямбдыprotected <RES> REScall(CompileResult key, SerializedLambda sl)Реализация вызова лямбдыvoidclose()Завершение работыstatic <ENV> TcpQuery.Builder<ENV>create(Class<ENV> c)Создание клиентаTcpClientgetClient()Возвращает ссылку на клиента TCP<T> Tsubscribe(Class<T> cls)Подписка на события сервера, смSubscribe<T> TcpQuery<ENV>subscribe(Class<T> cls, Consumer<T> publishers)Подписка на события сервера, смSubscribe
-
-
-
Field Detail
-
client
protected final TcpClient client
клиент TCP
-
fnKeys
protected final Map<xyz.cofe.fn.Fn1<?,?>,CompileResult> fnKeys
-
-
Constructor Detail
-
TcpQuery
public TcpQuery(TcpClient client)
Конструктор- Parameters:
client- клиент TCP
-
-
Method Detail
-
getClient
public TcpClient getClient()
Возвращает ссылку на клиента TCP- Returns:
- клиент TCP
-
close
public void close() throws ExceptionЗавершение работы- Specified by:
closein interfaceAutoCloseable- Throws:
Exception- какие-то ошибки
-
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:
callin classxyz.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:
- Интерфейс подписки
-
-