Skip to content

Instantly share code, notes, and snippets.

@softberries
Created June 24, 2020 09:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save softberries/9f51d98b1025ed2040c0466cb3d37f75 to your computer and use it in GitHub Desktop.
Save softberries/9f51d98b1025ed2040c0466cb3d37f75 to your computer and use it in GitHub Desktop.
def consumer(done: Deferred[IO, Unit]) = for {
c <- Consumer.setup
_ <- done.complete(())
msg <- c.read
_ <- IO(println(s"Received $msg"))
} yield ()
def producer(done: Deferred[IO, Unit]) = for {
p <- Producer.setup()
_ <- done.get
msg = "Msg A"
_ <- p.write(msg)
_ <- IO(println(s"Sent $msg"))
} yield ()
def prog = for {
d <- Deferred[IO, Unit]
_ <- consumer(d).start
_ <- producer(d).start
} yield ()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment