public Task StopAsync(CancellationToken cancellationToken) { if (State == FixConnectorState.Connecting || State == FixConnectorState.Connected) { _socketInitiator?.Stop(); } State = FixConnectorState.Disconnected; return(Task.CompletedTask); }
public void OnLogout(SessionID sessionId) { if (State == FixConnectorState.Connecting) { _connectionCompletionSource.TrySetException(new InvalidOperationException("Logon rejected. See the log for details")); } else { State = FixConnectorState.Disconnected; } }
public void ToAdmin(Message message, SessionID sessionId) { if (message is Logon logon) { logon.Password = new Password(_config.Password); State = FixConnectorState.Connecting; } else if (message is Logout) { State = FixConnectorState.Disconnecting; } }
private void WaitForState(FixConnectorState state, int timeout) { for (int i = 0; i < timeout; i++) { Thread.Sleep(1000); if (_connector.State == state) { break; } } Assert.Equal(state, _connector.State); }
public void ToAdmin(Message message, SessionID sessionId) { if (message is Logon logon) { logon.Password = new Password(_config.Password); State = FixConnectorState.Connecting; } else if (message is Logout logout) { State = FixConnectorState.Disconnecting; if (logout.IsSetText()) { Log.WriteInfoAsync(nameof(Logout), string.Empty, logout.Text.Obj).GetAwaiter().GetResult();; } } }
public void OnLogon(SessionID sessionId) { _sessionId = sessionId; State = FixConnectorState.Connected; _connectionCompletionSource.TrySetResult(true); }
private void OnConnected() { State = FixConnectorState.Connected; }
public void OnLogout(SessionID sessionId) { State = FixConnectorState.Disconnected; }