Package xyz.cofe.trambda.tcp
Class ResultConsumer<Req extends Message,Res extends Message>
- java.lang.Object
-
- xyz.cofe.trambda.tcp.ResultConsumer<Req,Res>
-
-
Field Summary
Fields Modifier and Type Field Description protected Consumer<Res>consumerПодписчик на успешное выполнениеprotected Consumer<ErrMessage>errConsumerПодписчик на ошибочное выполнениеprotected Map<Integer,Consumer<ErrMessage>>errorConsumersКарта подписчиков на ошибочное выполнение запросаprotected TcpProtocolprotoуправление TCP потокомprotected Reqreqзапросprotected Map<Integer,Consumer<Res>>responseConsumersКарта подписчиков на успешное выполнение запроса
-
Constructor Summary
Constructors Constructor Description ResultConsumer(TcpProtocol proto, Req req, Map<Integer,Consumer<ErrMessage>> errorConsumers, Map<Integer,Consumer<Res>> responseConsumers)Конструктор
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResultConsumer<Req,Res>configure(Consumer<Req> reqConf)Resfetch()Синхронное выполнение запросаResultConsumer<Req,Res>onFail(Consumer<ErrMessage> response)Добавляет подписчика на ошибочное выполнение.protected ResultConsumer<Req,Res>onFail(Consumer<ErrMessage> response, Consumer<xyz.cofe.fn.Tuple2<Consumer<ErrMessage>,Consumer<ErrMessage>>> changes)Добавляет еще одного подписчика на ошибочное выполнение.ResultConsumer<Req,Res>onSuccess(Consumer<Res> response)Добавляет подписчика на успешное выполнение запросаprotected ResultConsumer<Req,Res>onSuccess(Consumer<Res> response, Consumer<xyz.cofe.fn.Tuple2<Consumer<Res>,Consumer<Res>>> changes)Добавляет еще одного подписчика на успешное выполнение.voidsend()Асинхронное выполнение запроса
-
-
-
Field Detail
-
proto
protected final TcpProtocol proto
управление TCP потоком
-
errorConsumers
protected final Map<Integer,Consumer<ErrMessage>> errorConsumers
Карта подписчиков на ошибочное выполнение запроса
-
responseConsumers
protected final Map<Integer,Consumer<Res extends Message>> responseConsumers
Карта подписчиков на успешное выполнение запроса
-
errConsumer
protected volatile Consumer<ErrMessage> errConsumer
Подписчик на ошибочное выполнение
-
-
Constructor Detail
-
ResultConsumer
public ResultConsumer(TcpProtocol proto, Req req, Map<Integer,Consumer<ErrMessage>> errorConsumers, Map<Integer,Consumer<Res>> responseConsumers)
Конструктор- Parameters:
proto- управление TCP потокомreq- запросerrorConsumers- Карта подписчиков на ошибочное выполнение запросаresponseConsumers- Карта подписчиков на успешное выполнение запроса
-
-
Method Detail
-
onSuccess
public ResultConsumer<Req,Res> onSuccess(Consumer<Res> response)
Добавляет подписчика на успешное выполнение запроса- Parameters:
response- подписчик- Returns:
- SELF ссылка
-
onSuccess
protected ResultConsumer<Req,Res> onSuccess(Consumer<Res> response, Consumer<xyz.cofe.fn.Tuple2<Consumer<Res>,Consumer<Res>>> changes)
Добавляет еще одного подписчика на успешное выполнение.
Добавляет (по необходимости) к существующему подписчику еще один.- Parameters:
response- подписчикchanges- Что было, что стало- Returns:
- SELF ссылка
-
onFail
public ResultConsumer<Req,Res> onFail(Consumer<ErrMessage> response)
Добавляет подписчика на ошибочное выполнение.- Parameters:
response- подписчик- Returns:
- SELF ссылка
-
onFail
protected ResultConsumer<Req,Res> onFail(Consumer<ErrMessage> response, Consumer<xyz.cofe.fn.Tuple2<Consumer<ErrMessage>,Consumer<ErrMessage>>> changes)
Добавляет еще одного подписчика на ошибочное выполнение.
Добавляет (по необходимости) к существующему подписчику еще один.- Parameters:
response- подписчикchanges- Что было, что стало- Returns:
- SELF ссылка
-
configure
public ResultConsumer<Req,Res> configure(Consumer<Req> reqConf)
-
send
public void send()
Асинхронное выполнение запроса
-
fetch
public Res fetch()
Синхронное выполнение запроса- Returns:
- результат выполнения
-
-