Mikhail Sukhov
|
Дата: 16.09.2011
Alexander:
Какие у кого предложения по структуре?
Метаданные (по сути под этим можно считать только наследники от PlazaColumns) нужно отвязать от PlazaTable. Далее, или убрать TableRegistry, или убрать StreamRegistry.
Use cases:
var trader1 = new PlazaTrader();
trader1.FutureTable.Columns.Add(PlazaFututeColumns.Volatility);
var trader2 = new PlazaTrader();
trader2.OptionTable.Columns.Add(PlazaOptionColumns.Volatility);
var trader1 = new PlazaTrader();
trader1.StartExport(trader1.FutureTable);
var trader2 = new PlazaTrader();
trader2.StartExport(trader2.OptionTable);
var trader = new PlazaTrader();
// или
var stream = trader.StartExport(PlazaTableRegistry.Smile);
stream.NewData +=
// или
var stream = trader.StreamRegistry.Smile;
stream.NewData +=
trader.StartExport(trader.StreamRegistry);
Второй вариант мне нравится больше. Соответственно если оставляем реестр стримов, то первые 2 кейса переделываем на использование trader.StreamRegistry
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 16.09.2011
- Как раз уже стал переделывать под второй вариант, мне он тоже больше нравится.
PlazaTrader знает только о StreamRegistry, причём именно так:
var stream = trader.StreamRegistry.Smile;
stream.NewData +=
trader.StartExport(trader.StreamRegistry);
ведь не надо забывать о необходимости нескольких подключений - static классов быть не должно.
PlazaTable тоже уже стал удалять из всех метаданных, столкнулся с проблемой рефлектора - GetAllMetadata выкидывает exception.
Необходимо удалить TableRegistry, как тогда будет работать Stream без знаний о текущей таблице?
|
|
|
|
Спасибо:
|
|
|
|
|
|
Mikhail Sukhov
|
Дата: 16.09.2011
Alexander:
2) PlazaTable тоже уже стал удалять из всех метаданных, столкнулся с проблемой рефлектора - GetAllMetadata выкидывает exception.
- Необходимо удалить TableRegistry, как тогда будет работать Stream без знаний о текущей таблице?
- Через reflection идет инициализация текущей структуры. Тоесть если ты что-то со структурой классов делаешь то и рефлекшен тебе нужно изменить.
- Так же как и сейчас, через PlazaStream.Table.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 16.09.2011
Mikhail Sukhov:
3. Так же как и сейчас, через PlazaStream.Table.
streams.Add(Aggregation20FutureStream = new PlazaStream(
new PlazaTable(PlazaTableSystemName.OrdersAggr, ReplicationStream.Aggr20Future, "Фьючерсы: стакан глубиной 20 котировок")
));
?
|
|
|
|
Спасибо:
|
|
|
|
|
|
Mikhail Sukhov
|
Дата: 16.09.2011
Alexander:
Mikhail Sukhov:
3. Так же как и сейчас, через PlazaStream.Table.
streams.Add(Aggregation20FutureStream = new PlazaStream(
new PlazaTable(PlazaTableSystemName.OrdersAggr, ReplicationStream.Aggr20Future, "Фьючерсы: стакан глубиной 20 котировок")
));
> ?
Да, думаю так и нужно сделать... Может еще проверишь заодно, влияет ли как-нибудь на производительность кол-во созданных стримов (не активных, тоесть данные по ним не текут).
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 16.09.2011
Текущие таски:
- избавиться от перегруженности текущей структуры классов - TableRegistry, ColumnRegistry, StreamRegistry;
- убрать зависимость метаданных от Table;
- убрать статические классы;
- протестировать возможность подключения и получения данных по нескольким логинам.
|
|
|
|
Спасибо:
|
|
|
|
|
|
Mikhail Sukhov
|
Дата: 19.09.2011
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 19.09.2011
Mikhail Sukhov:
Рефакторинг сделал.
Сейчас добавление столбцов происходит после инициализации PlazaStream, в связи с этим возникают проблемы в PlazaRecord.
P.S. fixed. Но данные всё равно не поступают.
|
|
|
|
Спасибо:
|
|
|
|
|
|
FiNick
|
Дата: 21.09.2011
Mikhail Sukhov:
Рефакторинг сделал.
Компилил последние исходники, тестил, существующие проблемы не решены: большие задержки при выставлении заявок, загрузка проца под 100% после дисконнекта. Там еще ошибка на SimpleGUI вылетает при подключении(запостил в другой теме).
|
|
|
|
Спасибо:
|
|
|
|
|
|
Alexander
|
Дата: 22.09.2011
FiNick:
Mikhail Sukhov:
Рефакторинг сделал.
Компилил последние исходники, тестил, существующие проблемы не решены: большие задержки при выставлении заявок, загрузка проца под 100% после дисконнекта. Там еще ошибка на SimpleGUI вылетает при подключении(запостил в другой теме).
Поправите? Доступ к исходникам у вас вроде есть :)
|
|
|
|
Спасибо:
|
|
|
|
|