/// <summary> /// The action to run when this event triggers. /// </summary> public override void Action() { _fromStation.ReleaseChannel(); if (_toStation.ClaimChannel(true)) { if (_toStation.PositionIsInRange(_data.EndPosition)) { _newCallHangupEventCallBack(_data.EndTime, _data); } else { _newCallHandoverEventCallBack(_data.GetAbsoluteTimeForPosition(_toStation.EndPosition), _data); } } else { _dropped(); } }
/// <summary> /// The action to run when this event triggers. /// </summary> public override void Action() { _callstart(); if (_baseStation.ClaimChannel(false)) { if (_baseStation.PositionIsInRange(_data.EndPosition)) { _newCallHangupEventCallBack(_data.EndTime, _data); } else { _newCallHandoverEventCallBack(_data.GetAbsoluteTimeForPosition(_baseStation.EndPosition), _data); } } else { _blocked(); } _addNextCallCallBack(_data.StartTime); }