Beispiel #1
0
 public TimeBreaker(int breakTime,
                    BreakResponse breakResponse             = BreakResponse.Exception,
                    [CallerMemberName] string memberName    = null,
                    [CallerFilePath] string filePath        = null,
                    [CallerLineNumber] int sourceLineNumber = 0)
     : this(TimeSpan.FromMilliseconds(breakTime), breakResponse, memberName, filePath, sourceLineNumber)
 {
 }
Beispiel #2
0
        public TimeBreaker(TimeSpan breakTime,
                           BreakResponse breakResponse             = BreakResponse.Exception,
                           [CallerMemberName] string memberName    = null,
                           [CallerFilePath] string filePath        = null,
                           [CallerLineNumber] int sourceLineNumber = 0)
        {
#if DEBUG
            _breakResponse   = breakResponse;
            _preparedMessage = $"Time limit of {breakTime} exceeded at {memberName}[{sourceLineNumber}]({filePath}).";
            _timer           = new Timer(OnTick, null, breakTime, TimeSpan.FromMilliseconds(-1));
#endif
        }
Beispiel #3
0
        public async Task <BreakResponse> Break()
        {
            await BeginRunStateTransition();

            var fbb = BeginRequest();

            BreakRequest.StartBreakRequest(fbb);
            int requestDataOffset = BreakRequest.EndBreakRequest(fbb);
            var response          = await CommitRequest(fbb, RequestData.BreakRequest, requestDataOffset);

            System.Diagnostics.Debug.Assert(response.ResponseDataType ==
                                            ResponseData.BreakResponse);
            var breakResponse = new BreakResponse();

            response.GetResponseData(breakResponse);
            await CompleteRunStateTransition(RunState.Paused);

            return(breakResponse);
        }