PaperTrader/docs/protocol.aux

189 lines
15 KiB
TeX

\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{4}\protected@file@percent }
\newlabel{intro}{{1}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Overview}{4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Terminology}{4}\protected@file@percent }
\newlabel{term}{{2.1}{4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Inner World}{4}\protected@file@percent }
\newlabel{term_inner}{{2.1.1}{4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Outer World}{4}\protected@file@percent }
\newlabel{term_outer}{{2.1.2}{4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.3}Critical Data}{4}\protected@file@percent }
\newlabel{term_criticaldata}{{2.1.3}{4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.4}User/Client}{4}\protected@file@percent }
\newlabel{term_user}{{2.1.4}{4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.5}User/Client Data}{4}\protected@file@percent }
\newlabel{term_user_data}{{2.1.5}{4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.6}Module}{4}\protected@file@percent }
\newlabel{term_module}{{2.1.6}{4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.7}Master Server}{5}\protected@file@percent }
\newlabel{term_master}{{2.1.7}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.8}Worker Servers}{5}\protected@file@percent }
\newlabel{term_worker}{{2.1.8}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.9}User Accounts}{5}\protected@file@percent }
\newlabel{term_user_acc}{{2.1.9}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Infrastructure Model}{5}\protected@file@percent }
\newlabel{infrastructure}{{2.2}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}Master Server Infrastructure Model}{5}\protected@file@percent }
\newlabel{infrastructure_master}{{2.2.1}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}Worker Servers Infrastructure Model}{6}\protected@file@percent }
\newlabel{infrastructure_server}{{2.2.2}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Global Deployment Variables}{6}\protected@file@percent }
\newlabel{var_global}{{2.3}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}List of assets to retrieve}{6}\protected@file@percent }
\newlabel{var_list_assets}{{2.3.1}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Number of Workers}{6}\protected@file@percent }
\newlabel{var_num_worker}{{2.3.2}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}Memory Size of Log system}{6}\protected@file@percent }
\newlabel{var_log_size}{{2.3.3}{6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.4}Stock Data Update Interval}{6}\protected@file@percent }
\newlabel{var_data_update_interval}{{2.3.4}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Data/State Structures}{7}\protected@file@percent }
\newlabel{ds_list}{{2.4}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.1}Account Structure}{7}\protected@file@percent }
\newlabel{ds_account}{{2.4.1}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.2}Session Structure}{7}\protected@file@percent }
\newlabel{ds_session}{{2.4.2}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.3}Asset Structure}{7}\protected@file@percent }
\newlabel{ds_asset}{{2.4.3}{7}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.4}LogEntry Structure}{8}\protected@file@percent }
\newlabel{ds_logentry}{{2.4.4}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.5}WorkerServer Structure}{8}\protected@file@percent }
\newlabel{ds_workerserver}{{2.4.5}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.6}MasterState Structure}{8}\protected@file@percent }
\newlabel{ds_masterstate}{{2.4.6}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.7}WorkerState Structure}{8}\protected@file@percent }
\newlabel{ds_workerstate}{{2.4.7}{8}}
\@writefile{toc}{\contentsline {section}{\numberline {3}A more Technical Overview}{8}\protected@file@percent }
\newlabel{technical_overview}{{3}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Master Server}{9}\protected@file@percent }
\newlabel{technical_master_server}{{3.1}{9}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Main Module}{9}\protected@file@percent }
\newlabel{master_mods_main}{{3.1.1}{9}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.2}Database Management}{9}\protected@file@percent }
\newlabel{master_mods_db}{{3.1.2}{9}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.3}Account Management \& Authorization}{10}\protected@file@percent }
\newlabel{master_mods_acc}{{3.1.3}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.4}Log System}{10}\protected@file@percent }
\newlabel{master_mods_log}{{3.1.4}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.5}Worker Management}{10}\protected@file@percent }
\newlabel{master_mods_worker}{{3.1.5}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.6}Assets Data Retrieval}{11}\protected@file@percent }
\newlabel{master_mods_assets}{{3.1.6}{11}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7}Assets Buy \& Sell}{11}\protected@file@percent }
\newlabel{master_mods_buysell}{{3.1.7}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Worker Server}{11}\protected@file@percent }
\newlabel{technical_worker_server}{{3.2}{11}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Main Module}{12}\protected@file@percent }
\newlabel{worker_mods_main}{{3.2.1}{12}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}Master Server Communication}{12}\protected@file@percent }
\newlabel{worker_mods_master_comms}{{3.2.2}{12}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3}Client Management}{12}\protected@file@percent }
\newlabel{worker_mods_client}{{3.2.3}{12}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.4}Account Authorization Tunnel}{12}\protected@file@percent }
\newlabel{worker_mods_acc}{{3.2.4}{12}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.5}Logging System}{13}\protected@file@percent }
\newlabel{worker_mods_log}{{3.2.5}{13}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.6}Cache Management}{13}\protected@file@percent }
\newlabel{worker_mods_cache}{{3.2.6}{13}}
\@writefile{toc}{\contentsline {section}{\numberline {4}The Protocol}{13}\protected@file@percent }
\newlabel{protocol}{{4}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Design Goals}{13}\protected@file@percent }
\newlabel{protocol_goals}{{4.1}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}States}{14}\protected@file@percent }
\newlabel{protocol_states}{{4.2}{14}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}Command State}{14}\protected@file@percent }
\newlabel{protocol_state_command}{{4.2.1}{14}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}Data Transfer State}{15}\protected@file@percent }
\newlabel{protocol_data_command}{{4.2.2}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}The Connection}{15}\protected@file@percent }
\newlabel{protocol_connection}{{4.3}{15}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}Master-Worker Server Connection}{15}\protected@file@percent }
\newlabel{protocol_masterserver_comms}{{4.3.1}{15}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Client-Worker Server Connection}{15}\protected@file@percent }
\newlabel{protocol_clientworker_comms}{{4.3.2}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Message Structure}{15}\protected@file@percent }
\newlabel{protocol_message}{{4.4}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Instructions}{16}\protected@file@percent }
\newlabel{protocol_instructions}{{4.5}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.1}Command State Instructions}{16}\protected@file@percent }
\newlabel{protocol_commandstate_inst}{{4.5.1}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.2}Data Transfer State Instructions}{16}\protected@file@percent }
\newlabel{protocol_datastate_inst}{{4.5.2}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.3}Server Return Instructions}{17}\protected@file@percent }
\newlabel{protocol_serverret_inst}{{4.5.3}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Overivew of The Instructions}{17}\protected@file@percent }
\newlabel{protocol_inst_overview}{{4.6}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.1}login(name, hashedPass, isExpirable)}{17}\protected@file@percent }
\newlabel{protocol_inst_login1}{{4.6.1}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.2}login(sessionID)}{17}\protected@file@percent }
\newlabel{protocol_inst_login2}{{4.6.2}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.3}register(username, email, hashedPass)}{18}\protected@file@percent }
\newlabel{protocol_inst_register}{{4.6.3}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.4}purchaseAsset(sessionID, name, quantity)}{18}\protected@file@percent }
\newlabel{protocol_inst_purchase}{{4.6.4}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.5}sellAsset(sessionID, name, quantity)}{18}\protected@file@percent }
\newlabel{protocol_inst_sellasset}{{4.6.5}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.6}switchState(sessionID, state)}{18}\protected@file@percent }
\newlabel{protocol_inst_switchstate}{{4.6.6}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.7}getAssetInfo(asset)}{18}\protected@file@percent }
\newlabel{protocol_inst_getassetinfo}{{4.6.7}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8}getAssetValueCurrent(asset)}{18}\protected@file@percent }
\newlabel{protocol_inst_getassetvaluecurrent}{{4.6.8}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.9}getAssetValueDay(asset, date)}{19}\protected@file@percent }
\newlabel{protocol_inst_getassetvalueday}{{4.6.9}{19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.10}getAssetValueWeek(asset, date)}{19}\protected@file@percent }
\newlabel{protocol_inst_getassetvalueweek}{{4.6.10}{19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.11}getAssetValueMonth(asset, date)}{19}\protected@file@percent }
\newlabel{protocol_inst_getassetvaluemonth}{{4.6.11}{19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.12}getAssetValueYear(asset, date)}{19}\protected@file@percent }
\newlabel{protocol_inst_getassetvalueyear}{{4.6.12}{19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.13}getAssetValueAllTime(asset)}{19}\protected@file@percent }
\newlabel{protocol_inst_getassetvaluealltime}{{4.6.13}{19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.14}getUserInfo(sessionID, username)}{19}\protected@file@percent }
\newlabel{protocol_inst_getuserinfo}{{4.6.14}{19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.15}getUserPortfolio(sessionID, username)}{20}\protected@file@percent }
\newlabel{protocol_inst_getuserportfolio}{{4.6.15}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.16}getUserTransactionHistroy(sessionID, username)}{20}\protected@file@percent }
\newlabel{protocol_inst_getusertransactionhistory}{{4.6.16}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.17}loginFail}{20}\protected@file@percent }
\newlabel{protocol_inst_loginfail}{{4.6.17}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.18}sessionID}{20}\protected@file@percent }
\newlabel{protocol_inst_sessionID}{{4.6.18}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.19}registerSuccess}{20}\protected@file@percent }
\newlabel{protocol_inst_registersuccess}{{4.6.19}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.20}registerFail}{20}\protected@file@percent }
\newlabel{protocol_inst_registerfail}{{4.6.20}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.21}purchaseSuccess}{20}\protected@file@percent }
\newlabel{protocol_inst_purchasesuccess}{{4.6.21}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.22}purchaseFail}{20}\protected@file@percent }
\newlabel{protocol_inst_purchasefail}{{4.6.22}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.23}sellSucecss}{20}\protected@file@percent }
\newlabel{protocol_inst_sellsuccess}{{4.6.23}{20}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.24}sellFail}{21}\protected@file@percent }
\newlabel{protocol_inst_sellfail}{{4.6.24}{21}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.25}stateSwitchSuccess}{21}\protected@file@percent }
\newlabel{protocol_inst_stateswitchsuccess}{{4.6.25}{21}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.26}stateSwitchFail}{21}\protected@file@percent }
\newlabel{protocol_inst_stateswitchfail}{{4.6.26}{21}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.27}data}{21}\protected@file@percent }
\newlabel{protocol_inst_data}{{4.6.27}{21}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.28}dataFail}{21}\protected@file@percent }
\newlabel{protocol_inst_datafail}{{4.6.28}{21}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7}Communication}{21}\protected@file@percent }
\newlabel{protocol_communication}{{4.7}{21}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.1}Data Transfer Mechanism}{21}\protected@file@percent }
\newlabel{protocol_communication_data_transfer}{{4.7.1}{21}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2}Login - First Method}{22}\protected@file@percent }
\newlabel{protocol_communication_login1}{{4.7.2}{22}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.3}Login - Second Method}{22}\protected@file@percent }
\newlabel{protocol_communication_login2}{{4.7.3}{22}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.4}Register}{22}\protected@file@percent }
\newlabel{protocol_communication_register}{{4.7.4}{22}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.5}Purchase}{23}\protected@file@percent }
\newlabel{protocol_communication_purchase}{{4.7.5}{23}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.6}Sell}{23}\protected@file@percent }
\newlabel{protocol_communication_sell}{{4.7.6}{23}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.7}get(Data)}{24}\protected@file@percent }
\newlabel{protocol_communication_data}{{4.7.7}{24}}