public SyncService(IDomainWebsocketClient client) { // -- websockets this.websocketClient = client; this.websocketClient.OnMessage += HandleMessage; this.websocketClient.OnConnectionError += OnConnectionError; // -- push/poll this.push = new PushService(this.websocketClient); this.push.OnSendFailed += PushOnOnSendFailed; this.poll = new PollService(); // -- state machine this.stateMachine = new StateMachine <State, Trigger>(State.Idle, FiringMode.Queued); this.stateMachine.OnTransitioned(OnTransitioned); this.stateMachine.OnUnhandledTrigger((state, trigger) => { Logger.Debug($"Unhandled trigger: {trigger} [{state}]"); }); this.VersionFetcher = new HttpVersionFetcher(); InitStateMachine(); this.scheduleStopWatch.Start(); }
public PushService(IDomainWebsocketClient client) { this.client = client; }