Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ project(DistributedATS)

set(CMAKE_PREFIX_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

Expand Down
12 changes: 3 additions & 9 deletions FIXGateway/src/Application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -149,21 +149,15 @@ void DATSApplication::toAdmin(FIX::Message &message,
const FIX::SessionID &sessionID) {}
void DATSApplication::toApp(
FIX::Message &message,
const FIX::SessionID &sessionID) throw(FIX::DoNotSend) {}
const FIX::SessionID &sessionID) {}

void DATSApplication::fromAdmin(
const FIX::Message &message,
const FIX::SessionID &sessionID) throw(FIX::FieldNotFound,
FIX::IncorrectDataFormat,
FIX::IncorrectTagValue,
FIX::RejectLogon) {}
const FIX::SessionID &sessionID) {}

void DATSApplication::fromApp(
const FIX::Message &message,
const FIX::SessionID &sessionID) throw(FIX::FieldNotFound,
FIX::IncorrectDataFormat,
FIX::IncorrectTagValue,
FIX::UnsupportedMessageType) {
const FIX::SessionID &sessionID) {
crack(message, sessionID);
}

Expand Down
12 changes: 3 additions & 9 deletions FIXGateway/src/Application.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,18 +59,12 @@ class DATSApplication : public FIX::Application, public FIX::MessageCracker {
void onLogon(const FIX::SessionID &sessionID);
void onLogout(const FIX::SessionID &sessionID);
void toAdmin(FIX::Message &, const FIX::SessionID &);
void toApp(FIX::Message &, const FIX::SessionID &) throw(FIX::DoNotSend);
void toApp(FIX::Message &, const FIX::SessionID &);
void fromAdmin(const FIX::Message &,
const FIX::SessionID &) throw(FIX::FieldNotFound,
FIX::IncorrectDataFormat,
FIX::IncorrectTagValue,
FIX::RejectLogon);
const FIX::SessionID &);
void
fromApp(const FIX::Message &message,
const FIX::SessionID &sessionID) throw(FIX::FieldNotFound,
FIX::IncorrectDataFormat,
FIX::IncorrectTagValue,
FIX::UnsupportedMessageType);
const FIX::SessionID &sessionID);

void onMessage(const FIX44::NewOrderSingle &, const FIX::SessionID &);
void onMessage(const FIX44::OrderCancelRequest &, const FIX::SessionID &);
Expand Down
10 changes: 5 additions & 5 deletions FIXGateway/src/SocketAcceptor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ using namespace FIX;
namespace DistributedATS {
SocketAcceptor::SocketAcceptor(
DistributedATS::DATSApplication &application, MessageStoreFactory &factory,
const SessionSettings &settings) throw(ConfigError)
const SessionSettings &settings)
: Acceptor(application, factory, settings), m_pServer(0) {}

SocketAcceptor::SocketAcceptor(
DistributedATS::DATSApplication &application, MessageStoreFactory &factory,
const SessionSettings &settings, FIX::LogFactory &logFactory/*,
std::ofstream *dds_input_stream_log_file*/) throw(ConfigError)
std::ofstream *dds_input_stream_log_file*/)
: Acceptor(application, factory, settings, logFactory), m_pServer(0) {}

SocketAcceptor::~SocketAcceptor() {
Expand All @@ -53,7 +53,7 @@ SocketAcceptor::~SocketAcceptor() {
delete iter->second;
}

void SocketAcceptor::onConfigure(const SessionSettings &s) throw(ConfigError) {
void SocketAcceptor::onConfigure(const SessionSettings &s) {
std::set<SessionID> sessions = s.getSessions();
std::set<SessionID>::iterator i;
for (i = sessions.begin(); i != sessions.end(); ++i) {
Expand All @@ -66,8 +66,8 @@ void SocketAcceptor::onConfigure(const SessionSettings &s) throw(ConfigError) {
}
}

void SocketAcceptor::onInitialize(const SessionSettings &s) throw(
RuntimeError) {
void SocketAcceptor::onInitialize(const SessionSettings &s)
{
short port = 0;

try {
Expand Down
4 changes: 2 additions & 2 deletions FIXGateway/src/SocketAcceptor.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ class SocketAcceptor : public FIX::Acceptor, FIX::SocketServer::Strategy {

public:
SocketAcceptor(DistributedATS::DATSApplication &, FIX::MessageStoreFactory &,
const FIX::SessionSettings &) throw(FIX::ConfigError);
const FIX::SessionSettings &);
SocketAcceptor(DistributedATS::DATSApplication &, FIX::MessageStoreFactory &,
const FIX::SessionSettings &, FIX::LogFactory &/*,
std::ofstream */ ) throw(FIX::ConfigError);
std::ofstream */ );

virtual ~SocketAcceptor();

Expand Down
2 changes: 1 addition & 1 deletion FIXGateway/src/SocketConnection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ bool SocketConnection::isValidSession() {
return !(m_sessions.find(sessionID) == m_sessions.end());
}

void SocketConnection::readFromSocket() throw(SocketRecvFailed) {
void SocketConnection::readFromSocket() {
ssize_t size = socket_recv(m_socket, m_buffer, sizeof(m_buffer));
if (size <= 0)
throw SocketRecvFailed(size);
Expand Down
2 changes: 1 addition & 1 deletion FIXGateway/src/SocketConnection.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ class SocketConnection : public Responder {
private:
typedef std::deque<std::string, ALLOCATOR<std::string>> Queue;

void readFromSocket() throw(SocketRecvFailed);
void readFromSocket();
bool readMessage(std::string &msg);
void readMessages(SocketMonitor &s);

Expand Down
2 changes: 0 additions & 2 deletions LatencyTest/Application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,13 +101,11 @@ void Application::onLogout( const FIX::SessionID& sessionID )
}

void Application::fromApp( const FIX::Message& message, const FIX::SessionID& sessionID )
throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::UnsupportedMessageType )
{
crack( message, sessionID );
}

void Application::toApp( FIX::Message& message, const FIX::SessionID& sessionID )
throw( FIX::DoNotSend )
{
try
{
Expand Down
6 changes: 3 additions & 3 deletions LatencyTest/Application.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ namespace LatencyTest
void onLogon( const FIX::SessionID& sessionID );
void onLogout( const FIX::SessionID& sessionID );
void toAdmin( FIX::Message&, const FIX::SessionID& );
void toApp( FIX::Message&, const FIX::SessionID& ) throw( FIX::DoNotSend );
void fromAdmin( const FIX::Message&, const FIX::SessionID& ) throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::RejectLogon ) {};
void toApp( FIX::Message&, const FIX::SessionID& ) ;
void fromAdmin( const FIX::Message&, const FIX::SessionID& ) {};

void fromApp( const FIX::Message& message, const FIX::SessionID& sessionID ) throw( FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::UnsupportedMessageType );
void fromApp( const FIX::Message& message, const FIX::SessionID& sessionID );
void onMessage( const FIX44::ExecutionReport&, const FIX::SessionID& );
void onMessage( const FIX44::MarketDataIncrementalRefresh&, const FIX::SessionID&);

Expand Down
4 changes: 2 additions & 2 deletions MiscClients/cpp_ws_reactjs/fix_ws_proxy/fix_application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ void fix_application::toAdmin(FIX::Message& message, const FIX::SessionID& sessi
}


void fix_application::fromAdmin(const FIX::Message& message, const FIX::SessionID& sessionId) throw(FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::RejectLogon)
void fix_application::fromAdmin(const FIX::Message& message, const FIX::SessionID& sessionId)
{
// Convert FIX message to JSON
auto json_obj = distributed_ats::fix_json::fix_to_json(message);
Expand All @@ -74,7 +74,7 @@ void fix_application::fromAdmin(const FIX::Message& message, const FIX::SessionI
}


void fix_application::fromApp(const FIX::Message& message, const FIX::SessionID& sessionId) throw(FIX::FieldNotFound, FIX::IncorrectDataFormat, FIX::IncorrectTagValue, FIX::UnsupportedMessageType)
void fix_application::fromApp(const FIX::Message& message, const FIX::SessionID& sessionId)
{
// Convert FIX message to JSON
auto json_obj = distributed_ats::fix_json::fix_to_json(message);
Expand Down
12 changes: 3 additions & 9 deletions MiscClients/cpp_ws_reactjs/fix_ws_proxy/fix_application.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,12 @@ class fix_application : public FIX::Application {
void toAdmin(FIX::Message& message, const FIX::SessionID& sessionID) override;

void fromAdmin(const FIX::Message &,
const FIX::SessionID &) throw(FIX::FieldNotFound,
FIX::IncorrectDataFormat,
FIX::IncorrectTagValue,
FIX::RejectLogon) override;
const FIX::SessionID &) override;
void fromApp(const FIX::Message &message,
const FIX::SessionID &sessionID) throw(FIX::FieldNotFound,
FIX::IncorrectDataFormat,
FIX::IncorrectTagValue,
FIX::UnsupportedMessageType) override;
const FIX::SessionID &sessionID) override;


void toApp(FIX::Message&, const FIX::SessionID&) throw(FIX::DoNotSend) override {};
void toApp(FIX::Message&, const FIX::SessionID&) override {};

private:
std::weak_ptr<Session> _ws_session;
Expand Down
15 changes: 15 additions & 0 deletions MiscClients/cpp_ws_reactjs/webtrader_reactjs_ws/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,29 @@ function App() {

const [histData, setHistData] = useState([]);

/*
function getWebSocketUrl() {
const host = window.location.hostname; // localhost, docker container, or prod host
const port = 9002; // your FIX WS port
const protocol = window.location.protocol === "https:" ? "wss" : "ws";
return `${protocol}://${host}:${port}`;
}
*/


function getWebSocketUrl() {
const host = window.location.hostname;
const protocol = window.location.protocol === "https:" ? "wss" : "ws";

// Only special-case production domain
if (host === "ats.alpharesearch.online" || host === "ats.ustreasuries.online") {
return `${protocol}://${host}/ws`;
}

// everything else keeps old behavior
return `${protocol}://${host}:9002`;
}

// =====================================================================================
// FIX LOGON CALLBACK (USER PRESSES LOGIN BUTTON)
// =====================================================================================
Expand Down
2 changes: 1 addition & 1 deletion docker/build_distributed_ats.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

git clone -b misc_1025 https://github.com/mkipnis/DistributedATS /opt/distributed_ats_src
git clone -b cxx17 https://github.com/mkipnis/DistributedATS /opt/distributed_ats_src

cd /opt/distributed_ats_src
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr/local -DDDS_ROOT_DIR=/usr/local -DLOG4CXX_ROOT_DIR=/usr/local -DQUICKFIX_ROOT_DIR=/usr/local -DLIQUIBOOK_ROOT_DIR=/usr/local
Expand Down
17 changes: 17 additions & 0 deletions docker/fixproxy.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[DEFAULT]
BeginString=FIX.4.4
ConnectionType=initiator
ReconnectInterval=30
FileStorePath=/tmp/store
FileLogPath=/tmp/log
StartTime=00:00:00
EndTime=00:00:00
ResetOnLogon=Y
ResetSeqNumFlag=Y
ResetOnDisconnect=Y

TargetCompID=FIX_GWY_1
SocketConnectHost=distributed_ats
SocketConnectPort=15001
HeartBtInt=30
DataDictionary=/usr/local/spec/FIX44.xml
Loading