Re: [Exim] "driver" concept?

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Philip Hazel
日付:  
To: Greg Matheson
CC: exim-users
題目: Re: [Exim] "driver" concept?
On Tue, 7 Jan 2003, Greg Matheson wrote:

> It's like when you're talking about $LOGNAME, for example, isn't
> it? Are you talking about the variable or the value? For
> drivers, is it the driver as a concept, or as an instance?


Yes. This is a common difficult concept. See "Alice Through The Looking
Glass", where there is a sequence along the lines of:

The name of the song is called W
The name of the song is X
The song is called Y
The song is Z

all of which just serves to confuse (which of course is the idea in
ATTLG).

I used the word "driver" in Exim 3 (and earlier) because it was copied
from Smail, and before Exim 4 we had directors/routers/transports/authen-
ticators and it was far too clumsy without a single word that covered
all of them.

In Exim 4, it's easier because there are no more directors, and in
talking about delivery, "routers or transports" isn't too much of a long
phrase.

However, it is easy to be sloppy when writing/talking about these things
because people don't always bother to distinguish between:

(1) The code that implements the drivers.
(2) An *instance* of the use of one of the drivers, specified in the
    configuration file.


I am certainly guilty of this. I'm afraid the new book probably
perpetrates this confusion as well.

What we need is a new word that means (2). Then, when you see something
like

  system_aliases:
    driver = redirect


you could say "system_aliases is the XXX (the instance); it uses the
redirect driver as its code".

But in practice people say "the system_aliases driver" or "the
system_aliases router", meaning the *instance*, and "the redirect
driver", meaning the underlying block of code.

The manual is due for a major editing session at some point. Probably in
a couple of months' time after I clear off some more of the Wish List. I
will try to expand 6.14 to improve the explanation of all of this.

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.