Testing out JmonkeyEngine to make a game in Scala with Akka Actors within a pure FP layer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
968 B

4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
  1. package wow.doge.mygame.executors
  2. import com.typesafe.scalalogging.Logger
  3. import monix.execution.Scheduler
  4. import monix.execution.UncaughtExceptionReporter
  5. final case class Schedulers(
  6. blockingIO: Schedulers.IoScheduler,
  7. async: Schedulers.AsyncScheduler,
  8. fx: Schedulers.FxScheduler
  9. )
  10. object Schedulers {
  11. val reporter = UncaughtExceptionReporter { ex =>
  12. val logger = Logger[Schedulers]
  13. logger.error("Uncaught exception", ex)
  14. }
  15. val default = Schedulers(
  16. IoScheduler(
  17. Scheduler
  18. .io()
  19. .withUncaughtExceptionReporter(Schedulers.reporter)
  20. ),
  21. AsyncScheduler(
  22. Scheduler.global
  23. .withUncaughtExceptionReporter(Schedulers.reporter)
  24. ),
  25. FxScheduler(
  26. JFXExecutionContexts.fxScheduler
  27. .withUncaughtExceptionReporter(Schedulers.reporter)
  28. )
  29. )
  30. case class AsyncScheduler(value: Scheduler)
  31. case class IoScheduler(value: Scheduler)
  32. case class FxScheduler(value: Scheduler)
  33. }