PMDF System Manager's Guide


Previous Next Contents Index

1.2.1 Channels

The central unifying construct in PMDF is the channel. A channel is some form of connection with another system or group of systems. Here, "system" is being used quite loosely and can mean another computer system, mail system, user agent, gateway, etc. The actual hardware connection or software transport or both can vary widely from one channel to the next. Only the PMDF manager need know anything about PMDF's channels; users are never aware of the existence of channels and only see a single, uniform interface regardless of how messages reach their destination.

Each channel consists of one or more channel programs and an outgoing message queue for storing messages that are destined to be sent to the systems associated with the channel. Channel programs perform two functions: (1) they transmit messages to other systems, deleting them from their queue after they are sent, and (2) they accept messages from other systems, placing them (i.e., enqueuing them) into channel queues. Note that while a channel program only removes messages from its own queue it can enqueue messages to any queue whatsoever, including its own.

A channel program which initiates a transfer to another system on its own is called a master program, while a program which accepts transfers initiated by another system is called a slave program. A channel can be served by a master program, a slave program, or both. Either type of program can or can not be bidirectional; the direction in which a message is travelling can have nothing to do with the type of program that handles it. For example, in the case of a PhoneNet channel, the master and slave programs are both capable of transmitting and receiving messages.

Channel definitions appear in the lower section of the PMDF configuration file (following the first blank line in the configuration file). The channel definitions are collectively referred to as the channel/host table; an individual channel definition forms a channel block. There are a great many optional controls for channel behavior. See Section 2.3 for complete information on channel definitions.


Previous Next Contents Index