Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаленный вызов. детали, реализация, архитектура, у темы новое название! 
:(
    Опции темы
mes
Дата 2.11.2010, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



ну так если мы убираем net_io нас же ничего больше не сдерживает ?

Добавлено @ 00:46
Цитата(boostcoder @  1.11.2010,  23:41 Найти цитируемый пост)
так вот, если user_context::start не создать асинхронную операцию типа такой:

понял.. немножко не так предствлял.. т.е. только юзерконтекст (и его содержимое) ответственен за длину своей жизни..

Добавлено @ 00:47
сервер только создает, и отправляет его в свободное плаванье..

Добавлено @ 00:48
интересный трюк.. т.е. до акцепта его "парентом" можно сказать является сервер, а после  получает паспорт и с этого момента числится совершенолетним smile


Это сообщение отредактировал(а) mes - 2.11.2010, 09:41


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 2.11.2010, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  2.11.2010,  00:44 Найти цитируемый пост)
сервер только создает, и отправляет его в свободное плаванье..

интересный трюк.. т.е. до акцепта владеельцем его можно сказать является сервер, а после  самолично..
т.е. получает паспорт и с этого момента числится совершенолетним

угу.

самый простой(и стандартный) вариант, это весь ввод/вывод писать в юзерконтексте. именно так asio и задумывалась. а уже из юзерконтекста можно дергать внешние хендлеры.

Добавлено через 4 минуты и 38 секунд
mes, может и в самом деле, весь ввод/вывод написать в юзерконтексте? smile 
PM WWW   Вверх
mes
Дата 2.11.2010, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  2.11.2010,  00:07 Найти цитируемый пост)
самый простой(и стандартный) вариант, это весь ввод/вывод писать в юзерконтексте. именно так asio и задумывалась. а уже из юзерконтекста можно дергать внешние хендлеры. 

ну нас это не огорчает.. только вместо функций придется использовать бинды.. а так даже один уровень логической косвенности убирается.. 
 smile 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 2.11.2010, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



mes, в одном из последних ваших кодов: http://liveworkspace.org/code/93bbe9011487...5ee4e2130e216d3
в junction::dispatched_call() происходит вызов m_distr.dispatch ( stc::welcome() );
насколько я понял, это диспетчеризация команд пришедших с того конца. так?
вот только этот метод принимает тип Т. я не понял, каким образом понять к какому типу десериализовать rpc_packet ?
PM WWW   Вверх
mes
Дата 2.11.2010, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  2.11.2010,  00:46 Найти цитируемый пост)
насколько я понял, это диспетчеризация команд пришедших с того конца. так?

не совсем..это условно весь путь, от диспатчеризации на сервере(конвертация в рпц пакет), до клиента (обратная конвертация) или наоборот..
просто чтоб не путаться я предположил локальное распределение сообщений..

Добавлено через 37 секунд
у вас с юзер_контекстом все готово ?

Добавлено через 1 минуту и 51 секунду
junction это срез, между клиентом(либо клиент_контекстом) и его обработчиками



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 2.11.2010, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



глянул ради любопытства. мы 18 страниц(6 дней) реализовываем ввод/вывод smile 
где это видано smile 
ну его...лесом. сделаю по классической схеме. время поджимает smile 
PM WWW   Вверх
mes
Дата 2.11.2010, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



вот в псевдокоде :
Код

struct client / client_context
{
   ctor() { bind (sender.output, start_send);
                start_read();
             }
   template<>send () { sender.send(); }
 protected:
    void start_send();
    void start_read();

    void dispatch() { receiver.dispatch (); start_read () }
                         
  private:
  
   .. sender        
   .. reciveir
};


Добавлено через 1 минуту и 9 секунд
Цитата(boostcoder @  2.11.2010,  00:53 Найти цитируемый пост)
ну его...лесом. сделаю по классической схеме. время поджимает

ну так уже у вас все сделано то smile

Добавлено через 1 минуту и 59 секунд
кроме "статик_ассертов" при несовпадении типов smile
но за ними дело не встанет..

Добавлено через 2 минуты и 43 секунды
сейчас без псевдокода

Добавлено через 2 минуты и 56 секунд
сделаю


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 2.11.2010, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  2.11.2010,  01:49 Найти цитируемый пост)
у вас с юзер_контекстом все готово ?

нет. уже завтра. сделаю его классическим способом, с двумя хендлерами: 1) для записи сырого массива, 2) для чтения.

PM WWW   Вверх
mes
Дата 2.11.2010, 02:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



вот основан на одном из старых примеров :
http://liveworkspace.org/code/46e38ea9a304...d8c8dc9d9ba907b
только добавить asio_сервисы и дописать закомментриорванные пост запросы..

Добавлено через 31 секунду
по тому же принципу и юзер контекст

Добавлено через 1 минуту и 34 секунды
только сообщения отправляемые и принимаемые, в общем случае, симметрично отраженные.. 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 2.11.2010, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



ага.
завтра буду пробовать связать все это дело.

спокойной ночи Вам smile 
PM WWW   Вверх
mes
Дата 2.11.2010, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



после еможнно прикрутить обработчик, чем  являлось юнктион в пред примерах..
сейчас покажу..

Добавлено через 8 минут и 22 секунды
вот сообщение диспатчеризуется контроллеру :
http://liveworkspace.org/code/c0cd9f66f978...94e7ec1b4453cd4

Добавлено через 9 минут и 6 секунд
Цитата(boostcoder @  2.11.2010,  01:29 Найти цитируемый пост)
спокойной ночи Вам   

и Вам ))

сейчас только нет_ио подключу..



--------------------
PM MAIL WWW   Вверх
mes
Дата 2.11.2010, 03:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



ну вот примерно так :
http://liveworkspace.org/code/0c1af21b320b...a77ab4a8a1bd5ac

делал на ощупь, так как копировать километры (с описанием пакета, инкома, оутго и т.д) неохота, тем более что будет конфликтовать с частью рпц-рев1.хпп..
но думаю после поправки недочетов..должно работать smile



Это сообщение отредактировал(а) mes - 2.11.2010, 03:16


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 2.11.2010, 03:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



еще раз огромное Вам спасибо smile 
PM WWW   Вверх
mes
Дата 2.11.2010, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



пож )) и еще раз спокойной ночи ))



--------------------
PM MAIL WWW   Вверх
mes
Дата 2.11.2010, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Код

 _receiver.set_handler <stc::welcome>( ..

я тут (спасибо соседней теме sofenru) подумал, что можно измелить логику этой строчки на обратную..
т.е. не засовывать делегата, а запрашивать контейнер .. тогда можно прикрутить буст_сигналы,
и получится
Код

 _receiver.get_signal<welcome>().connect (.. );

и сразу решается проблема с цепочкой выполнения.. и многие другие мелочи..



Это сообщение отредактировал(а) mes - 2.11.2010, 21:10


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1382 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.