Akka.HTTP.Client
Akka.HTTP.Client
- обычный класс/модуль. Не актор.
Может содержать какие-нибудь врапперы, синглтоны и фектори, если в этом будет смысл
Один актор Akka.HTTP.Client.Actor
Два сообщения:
HTTPRequest
HTTPResponse
По старту системы создается Akka.HTTP.Client.Actor
, который
- принимает сообщения
HTTPRequest
(HTTPResponse
только отправляет) - создает обычный дотнетовский
Task<HTTPResponse>
- отправляет результат таска отправителю через
.PipeTo()
:
HTTPRequest m = message as HTTPRequest; Task<HTTPResponse> foo = myget(m.url); foo.PipeTo(Sender);
Клиент биржи
Collector.bitstampUSD.Orderbook
- это таким образом актор, принимающий 2 сообщения, Go
(пустое) и HTTPResponse
:
По приходу Go
он:
- сохраняет
Sender
- отправляет
HTTPRequest
нашемуAkka.HTTP.Client.Actor
По приходу HTTPResponse
:
- переформатирует JSON или формирует JSON c ощибкой
- отправляет JSON через
.Tell()
сохранённому отправителюGo
Гирман-сервер
Живёт снаружи акторов. Просто через await bitstampActor.Ask(new Go)
шлёт сообщения клиенту-актору, принимает результат и отдает его обратно в гирман.
Last modified
6 years ago
Last modified on May 29, 2019, 2:06:31 AM
Note:
See TracWiki
for help on using the wiki.