Channel

Channel is a generic/simple facility with the purpose of making message passing and event dispatching.
Download

Channel Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • Yigong Liu
  • Publisher web site:

Channel Tags


Channel Description

Channel is a generic/simple facility with the purpose of making message passing and event dispatching. Channel is a generic/simple facility with the purpose of making event dispatching and message passing as straightforward to use as data structures: Channel is a template library, with its major components configurable as template parameters: template class Channel By replacing Id_Type, Id_Trait and Router with various concrete classes, Channel can support table/linear message routing, hierarchical routing and associative routing (Linda style) at the demand of user. The same way, we can use integer, string, POD structs or any class as message ids (provided that proper operations are defined with Id_Trait) Channel provides complete publish/subscribe interface for channel members (peer threads in message passing and objects in event dispatching) to pub/sub message/event ids/types and send/receive messages/eventsChannels are process local entities which can be "connected" to allow transparent distributed communication between members in different channels (Connectors based on tcp socket and unix domain socket are provided as samples) Namespace control: The ids published/subscribed by channel members constitute channel's namespace. Channel provides publish/subscribe scope control; When ids are published/subscribed, peers can specify desired scope (LOCAL, REMOTE, GLOBAL)When 2 channels are connected, their namespaces are automatically "merged", which is transparent to both channel members and programmers. Members can communicate with members in remote channels the same way as with local members (by pub/sub ids).Namespace merge/integration is controlled by: Id scope specificationfilters and translators defined at channel connectionsChannel communication are peer-2-peer; there are no central daemons required for message passing.Channel support both asynchronous message passing and synchronous event dispatching models.Channel is built on top of ACE (Adaptive Communication Environment) to gain platform independence.What's New in This Release:· The framework was ported to Windows XP with VC8.· Dispatching policy was added as a Channel template parameter to support various dispatching algorithms.· Broadcast and simple RoundRobin dispatching policies were implemented for testing.· Callback was changed to functor style so that normal functions and functors can be directly used as callbacks.


Channel Related Software