public StandardLocalSystemClockCore(SteadyClockCore steadyClockCore) { _steadyClockCore = steadyClockCore; _context = new SystemClockContext(); _context.SteadyTimePoint.ClockSourceId = steadyClockCore.GetClockSourceId(); }
public StandardNetworkSystemClockCore(SteadyClockCore steadyClockCore) { _steadyClockCore = steadyClockCore; _context = new SystemClockContext(); _context.SteadyTimePoint.ClockSourceId = steadyClockCore.GetClockSourceId(); _standardNetworkClockSufficientAccuracy = new TimeSpanType(0); }
public SystemClockCore(SteadyClockCore steadyClockCore) { _steadyClockCore = steadyClockCore; _context = new SystemClockContext(); _isInitialized = false; _context.SteadyTimePoint.ClockSourceId = steadyClockCore.GetClockSourceId(); _systemClockContextUpdateCallback = null; }
private bool NeedUpdate(SystemClockContext context) { if (_hasContext) { return(_context.Offset != context.Offset || _context.SteadyTimePoint.ClockSourceId != context.SteadyTimePoint.ClockSourceId); } return(true); }
protected virtual ResultCode Flush(SystemClockContext context) { if (_systemClockContextUpdateCallback == null) { return(ResultCode.Success); } return(_systemClockContextUpdateCallback.Update(context)); }
public ResultCode SetSystemClockContext(SystemClockContext context) { ResultCode result = SetClockContext(context); if (result == ResultCode.Success) { result = Flush(context); } return(result); }
public override ResultCode GetClockContext(ITickSource tickSource, out SystemClockContext context) { ResultCode result = ApplyAutomaticCorrection(tickSource, false); context = new SystemClockContext(); if (result == ResultCode.Success) { return(_localSystemClockCore.GetClockContext(tickSource, out context)); } return(result); }
public ResultCode SetCurrentTime(ITickSource tickSource, long posixTime) { SteadyClockTimePoint currentTimePoint = _steadyClockCore.GetCurrentTimePoint(tickSource); SystemClockContext clockContext = new SystemClockContext() { Offset = posixTime - currentTimePoint.TimePoint, SteadyTimePoint = currentTimePoint }; ResultCode result = SetClockContext(clockContext); if (result == ResultCode.Success) { result = Flush(clockContext); } return(result); }
public ResultCode Update(SystemClockContext context) { ResultCode result = ResultCode.Success; if (NeedUpdate(context)) { _context = context; _hasContext = true; result = Update(); if (result == ResultCode.Success) { BroadcastOperationEvent(); } } return(result); }
public abstract ResultCode GetSystemClockContext(KThread thread, out SystemClockContext context);
public SystemClockContextUpdateCallback() { _operationEventList = new List <KWritableEvent>(); _context = new SystemClockContext(); _hasContext = false; }
public abstract ResultCode SetSystemClockContext(SystemClockContext context);
public abstract ResultCode Flush(SystemClockContext context);
public override ResultCode Flush(SystemClockContext context) { // TODO: set:sys SetNetworkSystemClockContext return(ResultCode.Success); }
public static ResultCode GetCurrentTime(out long currentTime, SteadyClockTimePoint steadyClockTimePoint, SystemClockContext context) { currentTime = 0; if (steadyClockTimePoint.ClockSourceId == context.SteadyTimePoint.ClockSourceId) { currentTime = steadyClockTimePoint.TimePoint + context.Offset; return(ResultCode.Success); } return(ResultCode.TimeMismatch); }
public override ResultCode SetClockContext(SystemClockContext context) { return(ResultCode.NotImplemented); }
public override ResultCode GetSystemClockContext(KThread thread, out SystemClockContext context) { context = _context; return(ResultCode.Success); }
public override ResultCode SetSystemClockContext(SystemClockContext context) { _context = context; return(ResultCode.Success); }
public virtual ResultCode GetClockContext(ITickSource tickSource, out SystemClockContext context) { context = _context; return(ResultCode.Success); }
public virtual ResultCode SetClockContext(SystemClockContext context) { _context = context; return(ResultCode.Success); }
protected override ResultCode Flush(SystemClockContext context) { // As UserSystemClock isn't a real system clock, this shouldn't happens. throw new NotImplementedException(); }
public virtual ResultCode GetClockContext(KThread thread, out SystemClockContext context) { context = _context; return(ResultCode.Success); }