[#] 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 — это так, до кучи; основной функционал в гейтовании: подписки и таскание бандлов туда-сюда.

PS: У Вас /msg лопнет рано или поздно.

[#] Re: Адреса msgfrom/msgto
51t(lenina,1) — ksa242
2014-03-31 15:13:45


ii://oz39DV25LQmyueA2eWfb или http://51t.ru/oz39DV25LQmyueA2eWfb

до 100 000 сообщений - не лопнет никоим образом. а если будет 100 000 сообщений, то начнётся в селе уже совсем другая жизнь.

[#] Re: Адреса msgfrom/msgto
Vargos(lenina,40) — ksa242
2014-03-31 22:36:16


Gzip никто не отменял, как и архивацию каждые n-сообщений/ n-месяцев

[#] 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


я не вижу особого смысла - на маленьких базах это проще делать просто, а на больших - всё равно лучше юзать базу данных, пусть даже примитивно-самодельную (файл данных + файл индекса)