247 lines
12 KiB
TeX
247 lines
12 KiB
TeX
\doxysection{Algo Class Reference}
|
|
\hypertarget{classAlgo}{}\label{classAlgo}\index{Algo@{Algo}}
|
|
|
|
|
|
{\ttfamily \#include $<$Algo.\+hh$>$}
|
|
|
|
|
|
|
|
Collaboration diagram for Algo\+:\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[height=550pt]{classAlgo__coll__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classAlgo_aaf4f951979fc60411ed84c558f081867}{Algo}} ()
|
|
\item
|
|
void \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize}} ()
|
|
\item
|
|
void \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\+\_\+orders}} ()
|
|
\item
|
|
void \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process}} ()
|
|
\item
|
|
void \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send}} (trading\+::\+Order \&)
|
|
\item
|
|
bool \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized}} ()
|
|
\item
|
|
void \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop}} ()
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Private Attributes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
std\+::queue$<$ trading\+::\+Order $>$ \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\+\_\+orders}}
|
|
\item
|
|
std\+::atomic$<$ bool $>$ \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}} \{false\}
|
|
\item
|
|
std\+::atomic$<$ bool $>$ \mbox{\hyperlink{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}{\+\_\+running}} \{false\}
|
|
\item
|
|
std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classPublisher}{Publisher}} $>$ \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}
|
|
\item
|
|
\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ trading\+::\+Order $>$ \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\+\_\+order\+\_\+queue}}
|
|
\item
|
|
\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\+\_\+thread\+\_\+pool}}
|
|
\item
|
|
std\+::mutex \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\+\_\+send\+\_\+mutex}}
|
|
\item
|
|
std\+::jthread \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}}
|
|
\item
|
|
std\+::vector$<$ std\+::jthread $>$ \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}}
|
|
\item
|
|
std\+::vector$<$ std\+::future$<$ bool $>$ $>$ \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}}
|
|
\end{DoxyCompactItemize}
|
|
|
|
|
|
\doxysubsection{Constructor \& Destructor Documentation}
|
|
\Hypertarget{classAlgo_aaf4f951979fc60411ed84c558f081867}\index{Algo@{Algo}!Algo@{Algo}}
|
|
\index{Algo@{Algo}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{Algo()}{Algo()}}
|
|
{\footnotesize\ttfamily \label{classAlgo_aaf4f951979fc60411ed84c558f081867}
|
|
Algo\+::\+Algo (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
\doxysubsection{Member Function Documentation}
|
|
\Hypertarget{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}\index{Algo@{Algo}!generate\_orders@{generate\_orders}}
|
|
\index{generate\_orders@{generate\_orders}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{generate\_orders()}{generate\_orders()}}
|
|
{\footnotesize\ttfamily \label{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}
|
|
void Algo\+::generate\+\_\+orders (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
References \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\+\_\+orders}}, and \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json()}}.
|
|
|
|
Here is the call graph for this function\+:\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=346pt]{classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph}
|
|
\end{center}
|
|
\end{figure}
|
|
\Hypertarget{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}\index{Algo@{Algo}!initialize@{initialize}}
|
|
\index{initialize@{initialize}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{initialize()}{initialize()}}
|
|
{\footnotesize\ttfamily \label{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}
|
|
void Algo\+::initialize (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
References \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}}, and \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}.
|
|
|
|
\Hypertarget{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}\index{Algo@{Algo}!initialized@{initialized}}
|
|
\index{initialized@{initialized}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{initialized()}{initialized()}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}
|
|
bool Algo\+::initialized (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
References \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}}.
|
|
|
|
\Hypertarget{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}\index{Algo@{Algo}!process@{process}}
|
|
\index{process@{process}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{process()}{process()}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}
|
|
void Algo\+::process (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
References \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}}, \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\+\_\+order\+\_\+queue}}, \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}, \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}}, \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\+\_\+send\+\_\+mutex}}, \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\+\_\+thread\+\_\+pool}}, \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}}, and \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json()}}.
|
|
|
|
Here is the call graph for this function\+:\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=304pt]{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph}
|
|
\end{center}
|
|
\end{figure}
|
|
\Hypertarget{classAlgo_ac556564d232b2d90cec73718538ec804}\index{Algo@{Algo}!send@{send}}
|
|
\index{send@{send}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{send()}{send()}}
|
|
{\footnotesize\ttfamily \label{classAlgo_ac556564d232b2d90cec73718538ec804}
|
|
void Algo\+::send (\begin{DoxyParamCaption}\item[{trading\+::\+Order \&}]{order}{}\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
References \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}.
|
|
|
|
\Hypertarget{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}\index{Algo@{Algo}!stop@{stop}}
|
|
\index{stop@{stop}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{stop()}{stop()}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}
|
|
void Algo\+::stop (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
|
|
|
|
|
|
|
References \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}}, \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}}, and \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}}.
|
|
|
|
|
|
|
|
\doxysubsection{Member Data Documentation}
|
|
\Hypertarget{classAlgo_a671449864b2d1a1af9a57970eb104a0f}\index{Algo@{Algo}!\_futures@{\_futures}}
|
|
\index{\_futures@{\_futures}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_futures}{\_futures}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a671449864b2d1a1af9a57970eb104a0f}
|
|
std\+::vector$<$std\+::future$<$bool$>$ $>$ Algo\+::\+\_\+futures\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}.
|
|
|
|
\Hypertarget{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}\index{Algo@{Algo}!\_initialized@{\_initialized}}
|
|
\index{\_initialized@{\_initialized}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_initialized}{\_initialized}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}
|
|
std\+::atomic$<$bool$>$ Algo\+::\+\_\+initialized \{false\}\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize()}}, and \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized()}}.
|
|
|
|
\Hypertarget{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}\index{Algo@{Algo}!\_order\_queue@{\_order\_queue}}
|
|
\index{\_order\_queue@{\_order\_queue}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_order\_queue}{\_order\_queue}}
|
|
{\footnotesize\ttfamily \label{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}
|
|
\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$trading\+::\+Order$>$ Algo\+::\+\_\+order\+\_\+queue\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}.
|
|
|
|
\Hypertarget{classAlgo_a889e1362976e78c4904007ee5edfd3fe}\index{Algo@{Algo}!\_orders@{\_orders}}
|
|
\index{\_orders@{\_orders}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_orders}{\_orders}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a889e1362976e78c4904007ee5edfd3fe}
|
|
std\+::queue$<$trading\+::\+Order$>$ Algo\+::\+\_\+orders\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\+\_\+orders()}}.
|
|
|
|
\Hypertarget{classAlgo_af5bcfa2719e948826f71983a18ec017d}\index{Algo@{Algo}!\_pub@{\_pub}}
|
|
\index{\_pub@{\_pub}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_pub}{\_pub}}
|
|
{\footnotesize\ttfamily \label{classAlgo_af5bcfa2719e948826f71983a18ec017d}
|
|
std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classPublisher}{Publisher}}$>$ Algo\+::\+\_\+pub\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize()}}, \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send()}}.
|
|
|
|
\Hypertarget{classAlgo_a743ddc60baad0afa7f036a529c340460}\index{Algo@{Algo}!\_reader\_thread@{\_reader\_thread}}
|
|
\index{\_reader\_thread@{\_reader\_thread}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_reader\_thread}{\_reader\_thread}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a743ddc60baad0afa7f036a529c340460}
|
|
std\+::jthread Algo\+::\+\_\+reader\+\_\+thread\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}.
|
|
|
|
\Hypertarget{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}\index{Algo@{Algo}!\_running@{\_running}}
|
|
\index{\_running@{\_running}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_running}{\_running}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}
|
|
std\+::atomic$<$bool$>$ Algo\+::\+\_\+running \{false\}\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
\Hypertarget{classAlgo_a4943cab875d5261b0abec360b68878e8}\index{Algo@{Algo}!\_send\_mutex@{\_send\_mutex}}
|
|
\index{\_send\_mutex@{\_send\_mutex}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_send\_mutex}{\_send\_mutex}}
|
|
{\footnotesize\ttfamily \label{classAlgo_a4943cab875d5261b0abec360b68878e8}
|
|
std\+::mutex Algo\+::\+\_\+send\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}.
|
|
|
|
\Hypertarget{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}\index{Algo@{Algo}!\_thread\_pool@{\_thread\_pool}}
|
|
\index{\_thread\_pool@{\_thread\_pool}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_thread\_pool}{\_thread\_pool}}
|
|
{\footnotesize\ttfamily \label{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}
|
|
\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} Algo\+::\+\_\+thread\+\_\+pool\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}.
|
|
|
|
\Hypertarget{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}\index{Algo@{Algo}!\_worker\_threads@{\_worker\_threads}}
|
|
\index{\_worker\_threads@{\_worker\_threads}!Algo@{Algo}}
|
|
\doxysubsubsection{\texorpdfstring{\_worker\_threads}{\_worker\_threads}}
|
|
{\footnotesize\ttfamily \label{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}
|
|
std\+::vector$<$std\+::jthread$>$ Algo\+::\+\_\+worker\+\_\+threads\hspace{0.3cm}{\ttfamily [private]}}
|
|
|
|
|
|
|
|
Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}.
|
|
|
|
|
|
|
|
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
|
\item
|
|
include/\mbox{\hyperlink{Algo_8hh}{Algo.\+hh}}\item
|
|
src/\mbox{\hyperlink{Algo_8cc}{Algo.\+cc}}\end{DoxyCompactItemize}
|