ЮБ
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ℕ