PlazaTable, PlazaSystemTable - что-то одно.

PlazaTable, PlazaSystemTable - что-то одно.
Atom
3/18/2011
Mikhail Sukhov


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

Что я вижу сейчас:

  1. PlazaSystemTable явно лишний.
  2. Зачем-то в PlazaTable идет работа с потоками. Есть же менеджер потоков, есть PlazaTrader. В классе, описывающий метаданные, работа с потоками по идее быть не должно.
  3. Зачем нужен Records у PlazaTable?

Я думаю надо еще раз проговорить про организацию работы с потоками Плазы.

  1. Пользователей работает с метаданными. Явно, когда их редактируется через PlazaTable.Columns. Неявно, когда при старте сканируются ini схемы и восстанавливаются колонки автоматически в PlazaTable.Columns.
  2. Пользователь запускает экспорт через PlazaTrader.StartExport. Стартуют потоки как основные (которые в QuikTrader мапяться на объекты Security Trade Order и т.д.) так и дополнительные (думаю, маппинг лучше организовать как с Custom tables в QuikTrader). Какие именно нужны потоки - определяется на шаге 1.

Зачем здесь PlazaSystemTable? И PlazaMarketData?


Tags:


Thanks:


< 1 2 
Mikhail Sukhov

Avatar
Date: 3/22/2011
Reply


aspirant:

Mikhail Sukhov: А стоит ли давать так делать?

Вроде обсуждали про пул подключений для распараллеливания потоков. Я, когда писал PlazaStreamManager, сразу это и сделал.

В итоге то к чему пришли?

aspirant:

Mikhail Sukhov: 4. А как тогда потоки стартую если названия из не указывается?

Вот ini-файл для таблицы FORTS_OPTCOMMON_REPL\common (колонки не все)

[dbscheme:CustReplScheme] table=common

; Общая информация по сессии [table:CustReplScheme:common] field=replID,i8 field=replRev,i8 field=replAct,i8 field=isin_id,i4 field=sess_id,i4 field=best_sell,d16.5 field=amount_sell,i4 field=best_buy,d16.5 field=amount_buy,i4 field=price,d16.5 field=trend,d16.5 field=amount,i4

> 
> А вот как инициализиурется поток в коде:
> ```

_dataStream = new CP2DataStreamClass();
_dataStream.StreamName = "FORTS_OPTCOMMON_REPL"; // название потока указывается в этой строчке.

А как Плаза отпределяет, что для потока FORTS_OPTCOMMON_REPL нужен вот тот файл ini а не какой то другой?

Thanks:

aspirant

Avatar
Date: 3/23/2011
Reply


Mikhail Sukhov: В итоге то к чему пришли?

Пришли, что это будет в списке второстепенных задач по потокам, но я сделал сразу, потому что это оказалось быстрее, чем я предполагал.

Mikhail Sukhov: А как Плаза отпределяет, что для потока FORTS_OPTCOMMON_REPL нужен вот тот файл ini а не какой то другой?

У нее есть внутреннее знание [smile] В следующем коде произойдет исключение, если хотя бы одна из колонок указана неправильно:

_dataStream.TableSet.InitFromIni2(_configFileName, "FORTS_OPTCOMMON_REPL");
Thanks:

Mikhail Sukhov

Avatar
Date: 3/23/2011
Reply


aspirant: У нее есть внутреннее знание [smile] В следующем коде произойдет исключение, если хотя бы одна из колонок указана неправильно:

_dataStream.TableSet.InitFromIni2(_configFileName, "FORTS_OPTCOMMON_REPL");


Интересно, а зачем потоку еще раз указывать название, если до этого уже сказали через _dataStream.StreamName
Thanks:

aspirant

Avatar
Date: 3/23/2011
Reply


Mikhail Sukhov: Интересно, а зачем потоку еще раз указывать название, если до этого уже сказали через _dataStream.StreamName

Mea culpa. Вот правильный кусок кода:

_dataStream.StreamName = "FORTS_OPTCOMMON_REPL";
// вторым параметром указывается название dbScheme, можно "", если dbScheme:CustReplScheme (дефолтная)
_dataStream.TableSet.InitFromIni2(_configFileName, "");
Thanks:

Mikhail Sukhov

Avatar
Date: 3/23/2011
Reply


aspirant:

Mikhail Sukhov: Интересно, а зачем потоку еще раз указывать название, если до этого уже сказали через _dataStream.StreamName

Mea culpa. Вот правильный кусок кода:

_dataStream.StreamName = "FORTS_OPTCOMMON_REPL"; // вторым параметром указывается название dbScheme, можно "", если dbScheme:CustReplScheme (дефолтная) _dataStream.TableSet.InitFromIni2(_configFileName, "");


Интересно, а можно в одном файле сохранять все схемы?
Thanks:
< 1 2 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy