[#]
Re: Адреса msgfrom/msgto
51t(lenina,1) — ksa242
2014-03-31 04:52:34
> То есть, получается так: Алиса пишет в ноду foobar.2014 на сервере ii.foo.org; сервер ii.bar.net забирает это сообщение и хочет показать его своим пользователям, но ему стыдно — имя Алисы он не знает, знает только её пойнтовый номер. Верно понимаю?
нет. совсем не так.
foo.14 - это эха, а не нода. Алиса пишет на ноду ii.bar.net. Нода по её тексту проставляет на сообщение адрес, имя, и дату, и теперь нумерованное сообщение начнёт гулять по сети. И там все будут знать (со слов её нода), что это сообщение в эху foo.14 написала Алиса, что её адрес "lenina,92", что отправлено оно было под утро, и что звучит оно так - "ребята, это полый тест. мея видо!". Всё только со слов нода.
Можно посмотреть локалку vargos-а, наводя на моё имя в сообщении мышкой. Я там есть и как lenina,1 (с этой станции), и как test,2 - со станции Vargos-а.
Формально адрес - это вообще декорация. При работе с клиентом на 0.1c адрес вообще не подставляется корректно, поэтому я там есть и как 2, просто 2, без улицы :)
[#]
Re: Адреса msgfrom/msgto
ksa242(lenina,45) — 51t
2014-03-31 14:16:41
Всё верно, я, лопух, на ночь глядя слона не заметил — отправитель-то отдельной строкой идёт. (Ну, и опечатка нода-эха, да.)
Написать, что-ли, нодо-сервер на Go, чтоб REST API, push/pull-гейтование по HTTPS, вот это всё… Для облегчения гейтования какой-нибудь стандарт (единые URL'ы эх и мессаг, формат списка мессаг и т. п.) планируется?
[#]
Re: Адреса msgfrom/msgto
51t(lenina,1) — ksa242
2014-03-31 14:33:44
> Написать, что-ли, нодо-сервер на Go, чтоб REST API, push/pull-гейтование по HTTPS, вот это всё…
можно, а зачем? имеющийся протокол значительно проще :) оно когда-то даже json отдавало, но я не смог придумать ни едного предназначения этому :)
лучше делать какие-нибудь практичные вещи, помогающие в использовании или реально что-нибудь гейтующие в одну или две стороны.
> Для облегчения гейтования какой-нибудь стандарт (единые URL'ы эх и мессаг, формат списка мессаг и т. п.) планируется?
номер сообщения - 20 символов A-Za-z0-9
имя эхи - точно не помню, формат описан в документации, причём есть даже некое расхождение в echo_flt и в документации, надо будет к единому виду привести.
список - либо /e
номер
номер
номер
либо /z/e (у эхи есть символ ".", у номера сообщения - нет)
эха
номер
номер
номер
эха
номер
номер
номер
ну и сжатые бандлы и msgline-ы.
идентификатор единый ii :// и там уже сам разбирается - если буквоцифры - значит это сообщения, если точка - то точка. в дальнейшем, если потребуется, то по запятой можно будет определять адрес.
гейтование вообще простое :)
[#]
Re: Адреса msgfrom/msgto
ksa242(lenina,45) — 51t
2014-03-31 15:06:33
>> Написать, что-ли, нодо-сервер на Go, чтоб REST API, push/pull-гейтование по HTTPS, вот это всё…
> можно, а зачем? имеющийся протокол значительно проще :)
REST API — это так, до кучи; основной функционал в гейтовании: подписки и таскание бандлов туда-сюда.
[#]
Re: Адреса msgfrom/msgto
ksa242(lenina,45) — Vargos
2014-03-31 22:47:58
Как бы это не стало обязательной процедурой. А Maildir-подобное размещение файла не рассматривали? Типа такого:
/ii.dev.2014/1396264425.1dg3TzCgmf0hAdOAeC2n
…а список мессаг в эхе брать через readdir()/glob().
[#]
Re: Адреса msgfrom/msgto
51t(lenina,1) — ksa242
2014-04-01 05:06:56
я не вижу особого смысла - на маленьких базах это проще делать просто, а на больших - всё равно лучше юзать базу данных, пусть даже примитивно-самодельную (файл данных + файл индекса)