Информация об узлах,
составляющих сеть, использующую сетевую технологию FidoNet, содержится в особых файлах, называемых
нодлистами (nodelist). Формат этих файлов определен документом FTS-0005. Это текстовый файл, каждая строка которого
содержит информацию об одном узле, например:
,100,T-Mail_support,St.Petersburg,Andy_Elkin,7-812-101-6225,9600,CM,V34,XX
В такой строке приводится
основная информация об узле сети: номер, название, месторасположение, имя системного
оператора, номер телефона в международном формате, и различные дополнительные
флажки, которые уточняют тип и скорость модема, вид системы, время ее работы и
т.д.
Для программ,
использующих нодлист в работе (мэйлеры и пр.), этот формат не совсем удобен,
т.к. при достаточно большом количестве узлов в сети необходимо организовать
быстрый поиск в нодлисте, размер которого может достигать сотен килобайтов.
Для организации быстрой
работы нодлист "компилируется", а точнее - индексируется специальной
программой, которая создает индексные файлы.
Программа TNC (T-Mail nodelist compiler), входящая в комплект T-Mail, предназначена для совместного использования с
мэйлером T-Mail. TNC создает индексный файл, необходимый для работы T-Mail с нодлистами и пойнтлистами. Число одновременно
используемых нодлистов и пойнтлистов может достигать 32.
Кроме того, TNC при компиляции
нодлиста может создавать усеченный нодлист, "вырезая" данные о регионах,
сетях или зонах. По желанию, для каждого региона создается отдельный файл,
содержащий списки сетей, входящих в этот регион. Это может оказаться полезным
для организации маршрутизации по регионам.
TNC использует собственный конфигурационный файл, который имеет имя tnc.ctl и представляет собой
обычный текстовый файл, каждая строка которого представляет собой переменную с
параметрами. Строки с комментариями должны начинаться символом ";" и
компилятором не обрабатываются. Этот файл ищется программой в текущем каталоге.
;--------------- Nodelist
compiler TNC.═ Control file.
--------------------
;
;
Address 2:5030/15.1════════════ ;
Full address
;
;═ Эта переменная задает полный адрес системы.
;═ При использовании с T-Mail должен совпадать с адресом в t-mail.ctl
;
Path═══════ c:\T-Mail\nodelist\══════════════ ;
Path to nodelist
;
;═ Эта═
переменная═ определяет
каталог,═ в═ котором═ содержатся═ нодлисты и
;═ пойнтлисты.
;
List════════ nodelist.*═════════════ ;
Filename of nodelist
List════════ Contact.dat
List════════ net5030.d??
List════════ abclist.999
;
;═ В этих═
переменных перечислены═ нодлисты
и═ пойнтлисты. При═ определении
;═ нодлистов══
допускается═ использование══ шаблонов═
(wildcards)═
согласно
;═ правилам,═
принятым в═ MS-DOS. TNC═ может обработать═ до 32═
нодлистов и
;═ пойнтлистов.
;
;═ При использовании шаблонов в═ обработку включаются все подходящие файлы,
;═ за═
исключением тех,═ которые
имеют═ расширения .ZIP,═ .ARJ, .LZH, .ZOO,
;═ .RAR, .ARC, .PAK, .RED, .IDX, .FDX, .NDX, .INX, .V8, .BAK.
;
;═ При═
использовании═ расширения═ имени═
файла═ .999═ будет═
найден файл с
;═ заданным═
именем, имеющий═ в качестве═ расширения трехзначное десятичное
;═ число. Если═
таких файлов будет═ несколько,
будет выбран═ один из них═ с
;═ наиболее поздней датой/временем создания.
;
;-ZONE══ 1════════════ ;
Exclude Zone
;
;═ Таким образом, к примеру, исключается зона 1
из индексного файла.
;
T-Mail version 2600. Руководство оператора══════════════ Стр. 19
;+ZONE═ 2════════════ ;
Only this zone
;+ZONE═ 66
;
;═ Таким═
образом═ в═ индексный═
файл═ включаются═ только═
указанные═ зоны,
;═ остальные игнорируются.
;
Flag═
compiled.ok ; Flag name
; Flag═ \SEM32\compiled.ok
;
;═ Этой переменной═ задается имя файла-флага═
или системного семафора═ (для
;═ OS/2), который═ будет создан после компиляции.═ Может быть определено до
;═ 32 таких переменных. Имя системного семафора
должно начинаться со строки
;═ "\SEM32\".═ Если TNC═ создал хотя═ бы один═
системный семафор,═ то перед
;═ завершением═
своей работы═ он выдерживает═ паузу 60═
секунд. Если же все
;═ установленные системные семафоры были═ распознаны другими программами до
;═ окончания этой паузы, то работа завершается
сразу.
;
;ReducedList═ Region 46 47 50══════════ ; Reduced nodelist parameters
;
;═ Данная═
переменная описывает═ условия
для═ создания усеченных нодлистов.
;═ Если эта переменная определена, то═ при компиляции нодлистов для каждого
;═ скомпилированного══ нодлиста══ будет══ создан══
его═ усеченный═ вариант,
;═ включающий в себя только записи о тех
регионах, сетях или зонах, которые
;═ перечислены в═ этой переменной (через═
пробел). Имя усеченного═ нодлиста
;═ совпадает с═
именем исходного, а═ расширение
заменяется на═ .RED. Первым
;═ параметром═
этой═ строки═ должно═
быть═ одно═ из ключевых слов "Region",
;═ "Zone"═ или═ "Net",═ после══ которого═
через═ пробелы═ следуют═
числовые
;═ значения. Такая переменная может быть только
одна.
;
;═ Примеры:
;═ --------
;═ ReducedList Zone 2 3
;═ ReducedList Net 5030 5040 5050
;
;----------------------------
End of tnc.ctl ------------------------------
Компилятор нодлиста
запускается с помощью команды TNC и может иметь в командной строке следующие ключи:
-C═══════════ √ компилировать нодлисты при
необходимости (при изменении даты);
-F═══════════ √ компилировать нодлисты
принудительно;
-R═══════════ √ создавать файлы rxx.net, содержащие списки
сетей по регионам;
-S═══════════ √ нет вывода на экран (несколько ускоряет
работу);
-?════════════ √
подсказка.
При запуске с ключом -C компилятор сравнивает
даты модификации нодлистов и индексного файла, и выполняет компиляцию только
при необходимости. Ключ -F отменяет эту проверку и компиляция будет
выполнена в любом случае. TNC может компилировать нодлисты с максимальным
суммарным количеством систем до 131000. Если при компиляции нодлиста произошла
ошибка, TNC
завершает работу с кодом завершения (errorlevel) 255. Если компиляция завершена успешно, то TNC завершает работу с
кодом завершения (errorlevel) 0.
Существует возможность
компилировать нодлисты не прерывая работы T-Mail, параллельно. В таком случае TNC пpи невозможности открыть индексный файл нодлиста ndxlist.t-m создает один из 9 альтернативных индексных файлов
(nxdlist.t-0 ...ndxlist.t-9). T-Mail же пpи открытии индексного файла открывает последний
(по дате). Это происходит пpи:
1)
запуске t-mail
2) возврате
из swap/run
3) пpи обработке ключевого
слова Control.
Перед началом компиляции TNC пытается удалить все
индексы, не заблокированные программой T-Mail.
T-Mail
имеет возможность работать вообще без нодлистов. При этом координаты и
параметры всех систем, с которыми необходимо работать, нужно задать в файле
подстановок (subst.lst).
Для того, чтобы T-Mail при
начале работы не выдавал предупреждение об отсутствии нодлиста можно при этом
варианте работы выполнить команду TNC -F для создания "пустого" индекса нодлиста.
Такой вариант работы
может использоваться, в частности, для работы пойнтовой системы, то есть
системы, которая постоянно работает только с одним-двумя узлами-боссами и для
которой нет необходимости хранить информацию о сети (сетях) в целом.