本文整理汇总了C#中QuickFix.GetString方法的典型用法代码示例。如果您正苦于以下问题:C# QuickFix.GetString方法的具体用法?C# QuickFix.GetString怎么用?C# QuickFix.GetString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QuickFix
的用法示例。
在下文中一共展示了QuickFix.GetString方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SessionSchedule
/// <summary>
/// </summary>
/// <param name="settings"></param>
public SessionSchedule(QuickFix.Dictionary settings)
{
this.WeeklySession = false;
if (!settings.Has(SessionSettings.START_DAY) && settings.Has(SessionSettings.END_DAY))
{
throw new QuickFix.ConfigError("EndDay used without StartDay");
}
if(settings.Has(SessionSettings.START_DAY) && !settings.Has(SessionSettings.END_DAY))
{
throw new QuickFix.ConfigError("StartDay used without EndDay");
}
if (settings.Has(SessionSettings.START_DAY) && settings.Has(SessionSettings.END_DAY))
{
StartDay = settings.GetDay(SessionSettings.START_DAY);
EndDay = settings.GetDay(SessionSettings.END_DAY);
WeeklySession = true;
}
try
{
this.StartTime = System.TimeSpan.Parse(
settings.GetString(SessionSettings.START_TIME));
this.EndTime = System.TimeSpan.Parse(
settings.GetString(SessionSettings.END_TIME));
}
catch (System.FormatException e)
{
throw new ConfigError(e.Message);
}
}
示例2: SessionSchedule
/// <summary>
/// </summary>
/// <param name="settings"></param>
public SessionSchedule(QuickFix.Dictionary settings)
{
this.WeeklySession = false;
if (!settings.Has(SessionSettings.START_DAY) && settings.Has(SessionSettings.END_DAY))
{
throw new QuickFix.ConfigError("EndDay used without StartDay");
}
if (settings.Has(SessionSettings.START_DAY) && !settings.Has(SessionSettings.END_DAY))
{
throw new QuickFix.ConfigError("StartDay used without EndDay");
}
if (settings.Has(SessionSettings.START_DAY) && settings.Has(SessionSettings.END_DAY))
{
StartDay = settings.GetDay(SessionSettings.START_DAY);
EndDay = settings.GetDay(SessionSettings.END_DAY);
WeeklySession = true;
}
if (settings.Has(SessionSettings.USE_LOCAL_TIME))
{
UseLocalTime = settings.GetBool(SessionSettings.USE_LOCAL_TIME);
}
if (settings.Has(SessionSettings.TIME_ZONE))
{
if (UseLocalTime)
{
throw new ConfigError(
SessionSettings.TIME_ZONE + " conflicts with " + SessionSettings.USE_LOCAL_TIME);
}
string id = settings.GetString(SessionSettings.TIME_ZONE);
TimeZone = System.TimeZoneInfo.FindSystemTimeZoneById(id);
}
try
{
this.StartTime = System.TimeSpan.Parse(
settings.GetString(SessionSettings.START_TIME));
this.EndTime = System.TimeSpan.Parse(
settings.GetString(SessionSettings.END_TIME));
}
catch (System.FormatException e)
{
throw new ConfigError(e.Message);
}
}
示例3: ClientHandlerThread
/// <summary>
/// Creates a ClientHandlerThread
/// </summary>
/// <param name="tcpClient"></param>
/// <param name="clientId"></param>
/// <param name="debugLogFilePath">path where thread log will go</param>
public ClientHandlerThread(TcpClient tcpClient, long clientId, QuickFix.Dictionary settingsDict, SocketSettings socketSettings)
{
string debugLogFilePath = "log";
if (settingsDict.Has(SessionSettings.DEBUG_FILE_LOG_PATH))
debugLogFilePath = settingsDict.GetString(SessionSettings.DEBUG_FILE_LOG_PATH);
else if (settingsDict.Has(SessionSettings.FILE_LOG_PATH))
debugLogFilePath = settingsDict.GetString(SessionSettings.FILE_LOG_PATH);
// FIXME - do something more flexible than hardcoding a filelog
log_ = new FileLog(debugLogFilePath, new SessionID("ClientHandlerThread", clientId.ToString(), "Debug"));
this.Id = clientId;
socketReader_ = new SocketReader(tcpClient, socketSettings, this);
}
示例4: Validate
protected void Validate(QuickFix.Dictionary dictionary)
{
string beginString = dictionary.GetString(BEGINSTRING);
if (beginString != Values.BeginString_FIX40 &&
beginString != Values.BeginString_FIX41 &&
beginString != Values.BeginString_FIX42 &&
beginString != Values.BeginString_FIX43 &&
beginString != Values.BeginString_FIX44 &&
beginString != Values.BeginString_FIXT11)
{
throw new ConfigError(BEGINSTRING + " (" + beginString + ") must be FIX.4.0 to FIX.4.4 or FIXT.1.1");
}
string connectionType = dictionary.GetString(CONNECTION_TYPE);
if (!"initiator".Equals(connectionType) && !"acceptor".Equals(connectionType))
{
throw new ConfigError(CONNECTION_TYPE + " must be 'initiator' or 'acceptor'");
}
}
示例5: ProcessNews
public void ProcessNews(QuickFix.Message msg, SessionID sessionID)
{
if (msg.IsSetField(QuickFix.Fields.Tags.Headline) && (msg.GetString(QuickFix.Fields.Tags.Headline) == "STOPME"))
{
if (this.StopMeEvent != null)
StopMeEvent();
}
else
Echo(msg, sessionID);
}
示例6: Create
public Session Create(SessionID sessionID, QuickFix.Dictionary settings)
{
string connectionType = settings.GetString(SessionSettings.CONNECTION_TYPE);
if (!"acceptor".Equals(connectionType) && !"initiator".Equals(connectionType))
throw new ConfigError("Invalid ConnectionType");
if ("acceptor".Equals(connectionType) && settings.Has(SessionSettings.SESSION_QUALIFIER))
throw new ConfigError("SessionQualifier cannot be used with acceptor.");
bool useDataDictionary = true;
if (settings.Has(SessionSettings.USE_DATA_DICTIONARY))
useDataDictionary = settings.GetBool(SessionSettings.USE_DATA_DICTIONARY);
QuickFix.Fields.ApplVerID defaultApplVerID = null;
if (sessionID.IsFIXT)
{
if (!settings.Has(SessionSettings.DEFAULT_APPLVERID))
{
throw new ConfigError("ApplVerID is required for FIXT transport");
}
defaultApplVerID = Message.GetApplVerID(settings.GetString(SessionSettings.DEFAULT_APPLVERID));
}
DataDictionaryProvider dd = new DataDictionaryProvider();
if (useDataDictionary)
{
if (sessionID.IsFIXT)
ProcessFixTDataDictionaries(sessionID, settings, dd);
else
ProcessFixDataDictionary(sessionID, settings, dd);
}
int heartBtInt = 0;
if ( connectionType == "initiator" )
{
heartBtInt = System.Convert.ToInt32(settings.GetLong( SessionSettings.HEARTBTINT ));
if ( heartBtInt <= 0 )
throw new ConfigError( "Heartbeat must be greater than zero" );
}
string senderDefaultApplVerId = "";
if(defaultApplVerID != null)
senderDefaultApplVerId = defaultApplVerID.Obj;
Session session = new Session(
application_,
messageStoreFactory_,
sessionID,
dd,
new SessionSchedule(settings),
heartBtInt,
logFactory_,
messageFactory_,
senderDefaultApplVerId);
if (settings.Has(SessionSettings.SEND_REDUNDANT_RESENDREQUESTS))
session.SendRedundantResendRequests = settings.GetBool(SessionSettings.SEND_REDUNDANT_RESENDREQUESTS);
if (settings.Has(SessionSettings.RESEND_SESSION_LEVEL_REJECTS))
session.ResendSessionLevelRejects = settings.GetBool(SessionSettings.RESEND_SESSION_LEVEL_REJECTS);
/** FIXME - implement optional settings
if (settings.Has(SessionSettings.CHECK_COMPID))
session.SetCheckCompId(settings.GetBool(SessionSettings.CHECK_COMPID));
*/
if (settings.Has(SessionSettings.CHECK_LATENCY))
session.CheckLatency = settings.GetBool(SessionSettings.CHECK_LATENCY);
if (settings.Has(SessionSettings.MAX_LATENCY))
session.MaxLatency = settings.GetInt(SessionSettings.MAX_LATENCY);
if (settings.Has(SessionSettings.LOGON_TIMEOUT))
session.LogonTimeout = settings.GetInt(SessionSettings.LOGON_TIMEOUT);
if (settings.Has(SessionSettings.LOGOUT_TIMEOUT))
session.LogoutTimeout = settings.GetInt(SessionSettings.LOGOUT_TIMEOUT);
if (settings.Has(SessionSettings.RESET_ON_LOGON))
session.ResetOnLogon = settings.GetBool(SessionSettings.RESET_ON_LOGON);
if (settings.Has(SessionSettings.RESET_ON_LOGOUT))
session.ResetOnLogout = settings.GetBool(SessionSettings.RESET_ON_LOGOUT);
if (settings.Has(SessionSettings.RESET_ON_DISCONNECT))
session.ResetOnDisconnect = settings.GetBool(SessionSettings.RESET_ON_DISCONNECT);
if (settings.Has(SessionSettings.REFRESH_ON_LOGON))
session.RefreshOnLogon = settings.GetBool(SessionSettings.REFRESH_ON_LOGON);
if (settings.Has(SessionSettings.PERSIST_MESSAGES))
session.PersistMessages = settings.GetBool(SessionSettings.PERSIST_MESSAGES);
if (settings.Has(SessionSettings.MILLISECONDS_IN_TIMESTAMP))
session.MillisecondsInTimeStamp = settings.GetBool(SessionSettings.MILLISECONDS_IN_TIMESTAMP);
if (settings.Has(SessionSettings.ENABLE_LAST_MSG_SEQ_NUM_PROCESSED))
session.EnableLastMsgSeqNumProcessed = settings.GetBool(SessionSettings.ENABLE_LAST_MSG_SEQ_NUM_PROCESSED);
if (settings.Has(SessionSettings.MAX_MESSAGES_IN_RESEND_REQUEST))
session.MaxMessagesInResendRequest = settings.GetInt(SessionSettings.MAX_MESSAGES_IN_RESEND_REQUEST);
if (settings.Has(SessionSettings.SEND_LOGOUT_BEFORE_TIMEOUT_DISCONNECT))
session.SendLogoutBeforeTimeoutDisconnect = settings.GetBool(SessionSettings.SEND_LOGOUT_BEFORE_TIMEOUT_DISCONNECT);
if (settings.Has(SessionSettings.IGNORE_POSSDUP_RESEND_REQUESTS))
session.IgnorePossDupResendRequests = settings.GetBool(SessionSettings.IGNORE_POSSDUP_RESEND_REQUESTS);
if (settings.Has(SessionSettings.VALIDATE_LENGTH_AND_CHECKSUM))
session.ValidateLengthAndChecksum = settings.GetBool(SessionSettings.VALIDATE_LENGTH_AND_CHECKSUM);
if (settings.Has(SessionSettings.RESETSEQUENCE_MESSAGE_REQUIRES_ORIGSENDINGTIME))
session.RequiresOrigSendingTime = settings.GetBool(SessionSettings.RESETSEQUENCE_MESSAGE_REQUIRES_ORIGSENDINGTIME);
return session;
}
示例7: createDataDictionary
protected DataDictionary.DataDictionary createDataDictionary(SessionID sessionID, QuickFix.Dictionary settings, string settingsKey, string beginString)
{
DataDictionary.DataDictionary dd;
string path;
if (settings.Has(settingsKey))
path = settings.GetString(settingsKey);
else
path = beginString.Replace("\\.", "") + ".xml";
if (!dictionariesByPath_.TryGetValue(path, out dd))
{
dd = new DataDictionary.DataDictionary(path);
dictionariesByPath_[path] = dd;
}
DataDictionary.DataDictionary ddCopy = new DataDictionary.DataDictionary(dd);
if (settings.Has(SessionSettings.VALIDATE_FIELDS_OUT_OF_ORDER))
ddCopy.CheckFieldsOutOfOrder = settings.GetBool(SessionSettings.VALIDATE_FIELDS_OUT_OF_ORDER);
if (settings.Has(SessionSettings.VALIDATE_FIELDS_HAVE_VALUES))
ddCopy.CheckFieldsHaveValues = settings.GetBool(SessionSettings.VALIDATE_FIELDS_HAVE_VALUES);
if (settings.Has(SessionSettings.VALIDATE_USER_DEFINED_FIELDS))
ddCopy.CheckUserDefinedFields = settings.GetBool(SessionSettings.VALIDATE_USER_DEFINED_FIELDS);
return ddCopy;
}
示例8: GetNextSocketEndPoint
private IPEndPoint GetNextSocketEndPoint(SessionID sessionID, QuickFix.Dictionary settings)
{
int num;
if (!sessionToHostNum_.TryGetValue(sessionID, out num))
num = 0;
string hostKey = SessionSettings.SOCKET_CONNECT_HOST + num;
string portKey = SessionSettings.SOCKET_CONNECT_PORT + num;
if (!settings.Has(hostKey) || !settings.Has(portKey))
{
num = 0;
hostKey = SessionSettings.SOCKET_CONNECT_HOST;
portKey = SessionSettings.SOCKET_CONNECT_PORT;
}
try
{
IPAddress[] addrs = Dns.GetHostAddresses(settings.GetString(hostKey));
int port = System.Convert.ToInt32(settings.GetLong(portKey));
sessionToHostNum_[sessionID] = ++num;
return new IPEndPoint(addrs[0], port);
}
catch (System.Exception e)
{
throw new ConfigError(e.Message, e);
}
}
示例9: Create
public Session Create(SessionID sessionID, QuickFix.Dictionary settings)
{
string connectionType = settings.GetString(SessionSettings.CONNECTION_TYPE);
if (!"acceptor".Equals(connectionType) && !"initiator".Equals(connectionType))
throw new ConfigError("Invalid ConnectionType");
if ("acceptor".Equals(connectionType) && settings.Has(SessionSettings.SESSION_QUALIFIER))
throw new ConfigError("SessionQualifier cannot be used with acceptor.");
bool useDataDictionary = true;
if (settings.Has(SessionSettings.USE_DATA_DICTIONARY))
useDataDictionary = settings.GetBool(SessionSettings.USE_DATA_DICTIONARY);
string defaultApplVerID = "";
if (sessionID.IsFIXT)
{
throw new System.NotImplementedException("FIXME - SessionFactory cannot handle FIXT Sessions!");
/*
if (!settings.Has(SessionSettings.DEFAULT_APPLVERID))
{
throw new ConfigError("ApplVerID is required for FIXT transport");
}
defaultApplVerID = Message.ToApplVerID(settings.GetString(SessionSettings.DEFAULT_APPLVERID));
*/
}
DataDictionaryProvider dd = new DataDictionaryProvider();
if (useDataDictionary)
{
if (sessionID.IsFIXT)
throw new System.NotImplementedException("FIXME - SessionFactory cannot handle 'UseDataDictionary=Y' for 'FIXT' sessions!");
else
ProcessFixDataDictionary(sessionID, settings, dd);
}
int heartBtInt = 0;
if ( connectionType == "initiator" )
{
heartBtInt = System.Convert.ToInt32(settings.GetLong( SessionSettings.HEARTBTINT ));
if ( heartBtInt <= 0 )
throw new ConfigError( "Heartbeat must be greater than zero" );
}
Session session = new Session(
application_,
messageStoreFactory_,
sessionID,
dd,
new SessionSchedule(settings, sessionID),
heartBtInt,
logFactory_,
new DefaultMessageFactory());
session.SenderDefaultApplVerID = defaultApplVerID;
/** FIXME - implement optional settings
if (settings.Has(SessionSettings.SEND_REDUNDANT_RESENDREQUESTS))
session.SetSendRedundantResendRequests(settings.GetBool(SessionSettings.SEND_REDUNDANT_RESENDREQUESTS));
if (settings.Has(SessionSettings.CHECK_COMPID))
session.SetCheckCompId(settings.GetBool(SessionSettings.CHECK_COMPID));
if (settings.Has(SessionSettings.CHECK_LATENCY))
session.SetCheckLatency(settings.GetBool(SessionSettings.CHECK_LATENCY));
if (settings.Has(SessionSettings.MAX_LATENCY))
session.SetMaxLatency(settings.GetLong(SessionSettings.MAX_LATENCY));
if (settings.Has(SessionSettings.LOGON_TIMEOUT))
session.SetLogonTimeout(settings.GetLong(SessionSettings.LOGON_TIMEOUT));
if (settings.Has(SessionSettings.LOGOUT_TIMEOUT))
session.SetLogoutTimeout(settings.GetLong(SessionSettings.LOGOUT_TIMEOUT));
*/
// FIXME to get from config if available
session.MaxLatency = 120;
session.CheckLatency = true;
if (settings.Has(SessionSettings.RESET_ON_LOGON))
session.ResetOnLogon = settings.GetBool(SessionSettings.RESET_ON_LOGON);
if (settings.Has(SessionSettings.RESET_ON_LOGOUT))
session.ResetOnLogout = settings.GetBool(SessionSettings.RESET_ON_LOGOUT);
if (settings.Has(SessionSettings.RESET_ON_DISCONNECT))
session.ResetOnDisconnect = settings.GetBool(SessionSettings.RESET_ON_DISCONNECT);
if (settings.Has(SessionSettings.REFRESH_ON_LOGON))
session.RefreshOnLogon = settings.GetBool(SessionSettings.REFRESH_ON_LOGON);
/** FIXME - implement optional settings
if (settings.Has(SessionSettings.MILLISECONDS_IN_TIMESTAMP))
session.SetMillisecondsInTimeStamp(settings.GetBool(SessionSettings.MILLISECONDS_IN_TIMESTAMP));
if (settings.Has(SessionSettings.PERSIST_MESSAGES))
session.SetPersistMessages(settings.GetBool(SessionSettings.PERSIST_MESSAGES));
if (settings.Has(SessionSettings.VALIDATE_LENGTH_AND_CHECKSUM))
session.SetValidateLengthAndChecksum(settings.GetBool(SessionSettings.VALIDATE_LENGTH_AND_CHECKSUM));
*/
return session;
}
示例10: Configure
/// <summary>
/// Setup socket settings based on setttings specified in dictionary
/// </summary>
/// <remarks>
/// used "Configure" as name since it is used in a lot of other places,
/// alternative names are ReadSettings or FromDictionary
/// </remarks>
/// <param name="dictionary">the dictionary to read the settings from</param>
public void Configure(QuickFix.Dictionary dictionary)
{
if (dictionary.Has(SessionSettings.SOCKET_NODELAY))
SocketNodelay = dictionary.GetBool(SessionSettings.SOCKET_NODELAY);
if (dictionary.Has(SessionSettings.SSL_SERVERNAME))
ServerCommonName = dictionary.GetString(SessionSettings.SSL_SERVERNAME);
if (dictionary.Has(SessionSettings.SSL_CA_CERTIFICATE))
CACertificatePath = dictionary.GetString(SessionSettings.SSL_CA_CERTIFICATE);
if (dictionary.Has(SessionSettings.SSL_CERTIFICATE))
CertificatePath = dictionary.GetString(SessionSettings.SSL_CERTIFICATE);
if (dictionary.Has(SessionSettings.SSL_CERTIFICATE_PASSWORD))
CertificatePassword = dictionary.GetString(SessionSettings.SSL_CERTIFICATE_PASSWORD);
if (dictionary.Has(SessionSettings.SSL_VALIDATE_CERTIFICATES))
ValidateCertificates = dictionary.GetBool(SessionSettings.SSL_VALIDATE_CERTIFICATES);
if (dictionary.Has(SessionSettings.SSL_CHECK_CERTIFICATE_REVOCATION))
CheckCertificateRevocation = dictionary.GetBool(SessionSettings.SSL_CHECK_CERTIFICATE_REVOCATION);
// Use setting for client certificate check if one exist
// otherwise enable client certificate check if a ca certificate is specified
if (dictionary.Has(SessionSettings.SSL_REQUIRE_CLIENT_CERTIFICATE))
RequireClientCertificate = dictionary.GetBool(SessionSettings.SSL_REQUIRE_CLIENT_CERTIFICATE);
// Use setting for SSL if one exist
// otherwise enable ssl if certificate path is specified
if (dictionary.Has(SessionSettings.SSL_ENABLE))
UseSSL = dictionary.GetBool(SessionSettings.SSL_ENABLE);
else
UseSSL = !string.IsNullOrEmpty(CertificatePath);
if (dictionary.Has(SessionSettings.SSL_PROTOCOLS))
{
var protocolString = dictionary.GetString(SessionSettings.SSL_PROTOCOLS);
try
{
SslProtocol = (System.Security.Authentication.SslProtocols)
Enum.Parse(typeof(System.Security.Authentication.SslProtocols), protocolString, ignoreCase: true);
}
catch (Exception)
{
// TODO: figure out a way to log this somehow (even though it's not likely to occur)
}
}
}