BS> P.S. Дай спеки
Да пожалуйста. Правда, красивого UNS-0011 у меня ещё нет, но давай дам тебе нечто черновое. Итак, между узлами передаётся два вида файлов: управляющие и аттачи (более подробно - в доке utic). Вид файлов определяется по трём поледним символам, что после точки, имя состоит из двух частей - фиксированной и уникальной для направления-линка (для упрощения "подглядывания за работой", а также - для устранения конфликтов файлов пришедших от разных линков в один инбаунд), и переменной, динамически ("уникально") выбираемой для файла на конкретном линке в конкретном направлении. Аттачи - это, собственно, и есть пересылаемые файлы (за исключением имени), а управляющие файлы - суть UNET-message (спеки на них ты уже видал). Hа каждом конце работает конечный автомат, имеющий следующие состояния:
===
; status description timestamp using (timeout)
;-------------------------------------------------------------------------------------
; requested requested upon announce rerequest
; received received none
; announced just announced reannounce
; prepared ready to be sent reannounce
; sent sent of refused none
; lost lost being unsent reannounce in hope of refusing (ack)
; synchronized existing file rejected none
===
Переход из состояния в состояние производится под действием сообщения, и может сопровождаться генерацией ответного сообщения:
===
; message types
;--------------------
; Announce
; Ack
; Request
; Attach
; Error
===
По-моему, self-explanatory.
Формат управляющего сообщения в терминах unet (терминология подобна той, что имеется в .tic файлах):
===
"FROM" as From
"AREA" as Area
"FILE" as Crc, Attach
"TEXT" as Desc (UTF-8)
"PATH" as Path
"USER_TYPE" as Type
"USER_FROM" as Origin
"USER_FILENAME" as File
"USER_PASSWORD" as Pw
===
Для файлового сервиса выделяется 1-я ячейка.
Это, конечно, весьма общее описание, более подробное - смотри доку, а также читай Processor.java, реализующий (aka содержащий максимально точное описание) на абстрактном уровне конечный автомат. Hу и пиши письма ;-)
               (
geocities.com/siliconvalley/vista)                   (
geocities.com/siliconvalley)