| Version 2 (modified by , 7 years ago) ( diff ) |
|---|
Akka.HTTP.Client
Akka.HTTP.Client - обычный класс/модуль. Не актор.
Может содержать какие-нибудь врапперы, синглтоны и фектори, если в этом будет смысл
Один актор Akka.HTTP.Client.Actor
Два сообщения:
HTTPRequestHTTPResponse
По старту системы создается 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
- отправляет его через
.Tell()сохранённому отправителюGo
Гирман-сервер
Живёт снаружи акторов. Просто через await bitstampActor.Ask(new Go) шлёт сообщения клиенту, принимает результат и отдает его обратно в гирман.
Note:
See TracWiki
for help on using the wiki.
![(please configure the [header_logo] section in trac.ini)](/ceasy/chrome/site/your_project_logo.png)