private async Task RemoteRecord(RecordCommand command) { await ReportState(CameraClientState.Preparing); var uploader = new FrameUploader(_listener.LocalHost.ToString(), command.Address, command.Port); _model.FramesProcessed += uploader.Upload; uploader.UploadComplete += () => { _model.FramesProcessed -= uploader.Upload; State = CameraClientState.Idle; }; await Dispatch(() => { _model.Record.Execute(null); }); }
private async Task EnableHeartbeat(EnableHeartbeatCommand command) { _server = command.Address; _port = command.Port; State = CameraClientState.Idle; _heartbeat.UpdateCallback(async() => { await SendHearbeat(); if (State == CameraClientState.Idle) { _heartbeat.Enable(TimeSpan.FromSeconds(3)); } }); _heartbeat.Enable(TimeSpan.FromSeconds(1)); await Task.Yield(); }
private async Task EnableHeartbeat(EnableHeartbeatCommand command) { _server = command.Address; _port = command.Port; State = CameraClientState.Idle; _heartbeat.UpdateCallback(async () => { await SendHearbeat(); if (State == CameraClientState.Idle) { _heartbeat.Enable(TimeSpan.FromSeconds(3)); } }); _heartbeat.Enable(TimeSpan.FromSeconds(1)); await Task.Yield(); }
private async Task ReportState(CameraClientState state) { State = state; await SendHearbeat(); }
public CameraHeartBeat(string cameraId, IBuffer buffer, CameraClientState state) { CameraId = cameraId; ViewBuffer = buffer; State = state; }