Channels

The channels library provides a thread-safe way to subscribe to channels and receive messages, for event-driven programs.

Note

This documentation is just a place-holder. For now, the best way to learn how the Channels library works is to look at the test suite or the way it is used in the Open Dylan IDE.

The CHANNELS module

<channel> Open Class
Superclasses:

<channel-object>

Init-Keywords:
  • mapper – An instance of <function>.

  • receivers – An instance of <table>.

broadcast Open Generic function
Signature:

broadcast (channel message #rest args) => (#rest results)

Parameters:
  • channel – An instance of <channel>.

  • message – An instance of <object>.

  • args (#rest) – An instance of <object>.

Values:
  • #rest results – An instance of <object>.

broadcast(<channel>, <object>) Method
override-channel Open Generic function
Signature:

override-channel (channel #rest args #key message? receiver? callback mapper) => (new-channel)

Parameters:
  • channel – An instance of <channel>.

  • args (#rest) – An instance of <object>.

  • message? (#key) – An instance of <object>.

  • receiver? (#key) – An instance of <object>.

  • callback (#key) – An instance of <object>.

  • mapper (#key) – An instance of <object>.

Values:
override-channel(<channel>) Method
tune-in Open Generic function
Signature:

tune-in (channel receiver-key #key #all-keys) => ()

Parameters:
  • channel – An instance of <channel>.

  • receiver-key – An instance of <object>.

tune-in(<channel>, <object>) Method
tune-out Open Generic function
Signature:

tune-out (channel receiver-key) => ()

Parameters:
  • channel – An instance of <channel>.

  • receiver-key – An instance of <object>.

tune-out(<channel>, <object>) Method