interfaces.scm 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. (define-interface trans-ids-interface
  2. (export trans-id?
  3. make-trans-id
  4. maybe-commit-and-trans-id-value
  5. trans-id-set-value!
  6. trans-id-thread-cell
  7. trans-id-cancelled?))
  8. (define-interface rendezvous-interface
  9. (export always-rv never-rv
  10. guard with-nack choose wrap
  11. sync
  12. select))
  13. (define-interface make-rendezvous-interface
  14. (export make-blocked make-enabled make-base))
  15. (define-interface rendezvous-channels-interface
  16. (export make-channel
  17. channel?
  18. send-rv send
  19. receive-rv receive))
  20. (define-interface rendezvous-async-channels-interface
  21. (export make-async-channel
  22. async-channel?
  23. send-async
  24. receive-async-rv
  25. receive-async))
  26. (define-interface rendezvous-placeholders-interface
  27. (export make-placeholder
  28. placeholder?
  29. placeholder-value
  30. placeholder-set!
  31. placeholder-value-rv))
  32. (define-interface rendezvous-jars-interface
  33. (export make-jar
  34. jar?
  35. jar-take
  36. jar-put!
  37. jar-take-rv))
  38. (define-interface rendezvous-time-interface
  39. (export at-real-time-rv
  40. after-time-rv))