ЮБ
Size: a a a
ЮБ
ЮБ
ЮБ
ЮБ
ЮБ
Process
. Он создаётся через new
и запускается через start
. Всё это с сайд эффектами. И у него после создания есть ещё методы типа onError
и close
. И я хочу получить примерно такое (псевдокод):StartedDaemon[F[_], E, Process] {Это частично похоже на
def get: Process
def stop: F[Unit]
def error: F[Option[E]]
}
Daemon
, но меня интересует абстракция для уже запущенного процесса. А его создание — это просто отдельный эффект.Oℕ
ЮБ
join
? И как мне тогда такой демон сконструировать?Oℕ
Oℕ
ЮБ
Oℕ
Oℕ
ЮБ
F[A]
, а мне нужно над конкретным A
всю вот эту машинерию сделатьOℕ
ЮБ
trait StartedDaemon[F[_], E, A] {
def get: A
def stop: F[Unit]
def error: F[Option[E]]
}
ЮБ
A
— это джавовый процесс. Он где-то там в фоне чёта делает, у него есть какие-то свои состояния, есть колбэки.Oℕ
Oℕ
ЮБ
Oℕ