WIP: dev

Registered by Ruslan Nigmatullin on 2013-01-29

Warning! Work IN progress!

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Элессар (29.01.2013 16:53:18)
нужно вводить уже Connection в кутим
Элессар (29.01.2013 16:53:25)
и ConnectionManager
Элессар (29.01.2013 16:53:27)
вопрос как
Элессар (29.01.2013 16:53:41)
я не понимаю как к этому подступиться, чтобы ничего не сломать
sauron (29.01.2013 16:54:27)
ну я так понимаю, что контакты у нас могут быть фасадами а внутри будет некий класс с вирт методами
Элессар (29.01.2013 16:54:35)
это то понятно
Элессар (29.01.2013 16:54:44)
я прекрасно представляю как это будет в конце выглядеть
Элессар (29.01.2013 16:54:55)
сложен сам процесс перехода
Элессар (29.01.2013 16:55:41)
пока идея какая
Элессар (29.01.2013 16:55:50)
нужно один из протоколов перенести полностью на новое апи
sauron (29.01.2013 16:55:58)
проще всего вконтакте наверное
Элессар (29.01.2013 16:56:02)
причем не трогая остальные вообще
sauron (29.01.2013 16:56:07)
он самый тоненький
Элессар (29.01.2013 16:56:11)
например да
Элессар (29.01.2013 16:57:44)
суть в чем
Элессар (29.01.2013 16:57:47)
давай сделаем так
Элессар (29.01.2013 16:58:05)
я тебе выдам права на запись в свою репу
Элессар (29.01.2013 16:58:14)
чтобы не ебать мозги и время
Элессар (29.01.2013 16:58:31)
ибо в рефакторинге нафиг контроль не нужен постоянный, лишние задержки
Элессар (29.01.2013 16:58:36)
дальше
Элессар (29.01.2013 16:58:45)
создаем бранч, например, ng
Элессар (29.01.2013 16:58:45)
хз
Элессар (29.01.2013 16:58:59)
пускай будет dev, по аналогии с кутями
Элессар (29.01.2013 16:59:05)
и что там делаем
Элессар (29.01.2013 16:59:17)
нужно 1. создать либу libureen-internal.so
sauron (29.01.2013 16:59:18)
давай dev я и врине сделаю dev
Элессар (29.01.2013 16:59:27)
vreen не трогай
Элессар (29.01.2013 16:59:28)
нафиг
Элессар (29.01.2013 16:59:35)
только кутим
Элессар (29.01.2013 16:59:37)
только хардкор
Элессар (29.01.2013 16:59:46)
нужно затронуть минимальную часть кода
Элессар (29.01.2013 17:00:10)
в идеале - только libureen-internal, немного libqutim и vkontakte.so
Элессар (29.01.2013 17:00:28)
дальше
Элессар (29.01.2013 17:00:48)
вводим такие понятия как ConnectionManager - объект, который может создавать Connection к серверу
Элессар (29.01.2013 17:00:59)
он _не_ хранит никакой информации
sauron (29.01.2013 17:01:05)
на врин у меня есть пилильщик
Элессар (29.01.2013 17:01:09)
вообще, протокол не имеет права ничего хранить в конфигах
Элессар (29.01.2013 17:01:24)
дальше
Элессар (29.01.2013 17:01:47)
к нему может прийти запрос на соединение с сервером, тогда он создает Connection
Элессар (29.01.2013 17:02:03)
при этом ему выдается _вся_ информация, необходимая для этого коннекта
Элессар (29.01.2013 17:02:32)
дальше
Элессар (29.01.2013 17:03:04)
этот Connection создает RosterInterface, через который можно работать с его контактами
Элессар (29.01.2013 17:03:50)
при этом он не хранит их на диске
Элессар (29.01.2013 17:03:55)
только в памяти, пока жив
Элессар (29.01.2013 17:04:07)
как только коннект с сервером пропадает - Connection обязан сдохнуть
sauron (29.01.2013 17:04:26)
но на врине это легко сделать, там ничего не хранится в конфигах. А все геттеры сеттеры через проперти запилены
Элессар (29.01.2013 17:04:26)
грохнув за собой всю информацию
Элессар (29.01.2013 17:04:34)
дальше
sauron (29.01.2013 17:04:40)
можно простой сериализацией по метаинформации все сохранять
Элессар (29.01.2013 17:05:01)
в ureen-internal должно быть:
все абстрактные ConnectionManager/Connection/RosterConnection/etc
sauron (29.01.2013 17:05:02)
сдохнуть? То есть мой радостный Client умирает?
Элессар (29.01.2013 17:05:04)
да
Элессар (29.01.2013 17:05:58)
дальше
sauron (29.01.2013 17:06:01)
Ну ок, так наверное надежнее, он при смерте убъет и ростера и список контактов
Элессар (29.01.2013 17:06:28)
так же в ureen-internal должны быть ContactImpl/AccountImpl/прочий шит, как временная привязка к текущему апи
sauron (29.01.2013 17:06:30)
хотя тоже не страшно по сути.
Элессар (29.01.2013 17:06:43)
которые юзают Connection*
Элессар (29.01.2013 17:07:24)
vkontakte должен предоставлять наружу ConnectionManager, который libureen-internal должен уметь превращать костылями в Protocol
sauron (29.01.2013 17:07:38)
еще на врине можно будет сразу попробовать сделать ConferenceManagerFeature или как-то так :)
Элессар (29.01.2013 17:07:48)
потом
Элессар (29.01.2013 17:07:55)
пока давай повторим текущие возможности
sauron (29.01.2013 17:07:57)
костылями это временно ?
Элессар (29.01.2013 17:07:58)
да
Элессар (29.01.2013 17:08:04)
потом Protocol уйдет в небытие
Элессар (29.01.2013 17:08:12)
останется только ProtocolInfo
Элессар (29.01.2013 17:08:21)
подмножество возможностей текущего
Элессар (29.01.2013 17:08:29)
все временно
sauron (29.01.2013 17:08:31)
Ну то есть пока чтобы остальная часть с ума не сходила, то протокол становится оберткой над Connection?
Элессар (29.01.2013 17:08:36)
ContactImpl тоже - временно
Элессар (29.01.2013 17:08:52)
его функциональность уйдет в Contact полностью
Элессар (29.01.2013 17:08:58)
как только все протоколы портанем
Элессар (29.01.2013 17:09:04)
да
sauron (29.01.2013 17:09:22)
что то меня сервер дропает
Элессар (29.01.2013 17:09:42)
> Элессар
> (17:08:36) ContactImpl тоже - временно
> (17:08:52) его функциональность уйдет в Contact полностью
> (17:08:58) как только все протоколы портанем
> (17:09:01)sauron изменил статус на Недоступен
> Элессар
> (17:09:04) да
> (17:09:15)sauron изменил статус на В сети
> sauron
> (17:09:22) что то меня сервер дропает
sauron (29.01.2013 17:09:58)
Ты значит видимо эти костыли будешь пилить, а я тогда их буду с врином совмещать, так получается?
Элессар (29.01.2013 17:10:13)
пока не знаю
Элессар (29.01.2013 17:10:14)
возможно
Элессар (29.01.2013 17:10:34)
но давай ты вначале создашь сборку ureen-internal сегодня?
Элессар (29.01.2013 17:10:49)
в core/ureen/internal/*
sauron (29.01.2013 17:10:54)
скрипты в смысле запилить?
Элессар (29.01.2013 17:10:56)
да
sauron (29.01.2013 17:11:03)
для qbs и cmake ?
Элессар (29.01.2013 17:11:11)
и там какой-нить ureen_internal_global.h
Элессар (29.01.2013 17:11:13)
да
sauron (29.01.2013 17:11:16)
в dev бранче?
Элессар (29.01.2013 17:11:17)
да
sauron (29.01.2013 17:11:31)
окей
Элессар (29.01.2013 17:11:31)
и класс-пустышку ConnectionManager, чтобы не из нуля генерилось
Элессар (29.01.2013 17:11:34)
хм
sauron (29.01.2013 17:11:47)
чтобы либу создал?
Элессар (29.01.2013 17:11:49)
да
sauron (29.01.2013 17:11:52)
окей

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.