|
Dreamine.Logging.Wpf 1.0.2
Dreamine.Logging.Wpf 사용자 인터페이스 기능과 구성 요소를 제공합니다.
|
Public 멤버 함수 | |
| BatchedDispatcher (Dispatcher dispatcher, Action< IReadOnlyList< T > > onBatch, DispatcherPriority priority=DispatcherPriority.Background) | |
| void | Enqueue (T item) |
정적 Public 속성 | |
| const int | MaxBatchSize = 256 |
Private 멤버 함수 | |
| void | ScheduleFlushIfNeeded () |
| void | Flush () |
Private 속성 | |
| readonly Dispatcher | _dispatcher |
| readonly Action< IReadOnlyList< T > > | _onBatch |
| readonly DispatcherPriority | _priority |
| readonly ConcurrentQueue< T > | _pending = new() |
| int | _scheduled |
빈번한 UI 갱신을 WPF UI 스레드에서 처리할 배치로 합칩니다.
모든 스레드에서 항목을 추가할 수 있으며 한 번에 하나의 디스패처 작업만 예약하고 배치 크기를 제한합니다.
| T | 전달할 항목 타입입니다. |
BatchedDispatcher.cs 파일의 33 번째 라인에서 정의되었습니다.
|
inline |
디스패처, 배치 콜백 및 우선순위로 T:Dreamine.Logging.Wpf.Services.BatchedDispatcher`1를 초기화합니다.
| dispatcher | 대상 WPF 디스패처입니다. |
| onBatch | UI 스레드에서 배치와 함께 호출할 콜백입니다. |
| priority | 디스패처 우선순위입니다. |
| ArgumentNullException | 디스패처 또는 콜백이 null인 경우 발생합니다. |
BatchedDispatcher.cs 파일의 131 번째 라인에서 정의되었습니다.
다음을 참조함 : _dispatcher, _onBatch, _priority.
|
inline |
UI 배치 전달을 위해 항목을 큐에 추가합니다.
| item | 전달할 항목입니다. |
BatchedDispatcher.cs 파일의 157 번째 라인에서 정의되었습니다.
다음을 참조함 : _pending, ScheduleFlushIfNeeded().

|
inlineprivate |
대기 항목을 제한 크기 배치로 꺼내 콜백에 전달하고 남은 작업을 다시 예약합니다.
BatchedDispatcher.cs 파일의 190 번째 라인에서 정의되었습니다.
다음을 참조함 : _onBatch, _pending, _scheduled, MaxBatchSize, ScheduleFlushIfNeeded().
다음에 의해서 참조됨 : ScheduleFlushIfNeeded().


|
inlineprivate |
예약된 작업이 없으면 UI 큐 비우기 작업을 예약합니다.
BatchedDispatcher.cs 파일의 171 번째 라인에서 정의되었습니다.
다음을 참조함 : _dispatcher, _priority, _scheduled, Flush().
다음에 의해서 참조됨 : Enqueue(), Flush().


|
private |
dispatcher 값을 보관합니다.
BatchedDispatcher.cs 파일의 53 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BatchedDispatcher(), ScheduleFlushIfNeeded().
|
private |
on Batch 값을 보관합니다.
BatchedDispatcher.cs 파일의 62 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BatchedDispatcher(), Flush().
|
private |
|
private |
priority 값을 보관합니다.
BatchedDispatcher.cs 파일의 71 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BatchedDispatcher(), ScheduleFlushIfNeeded().
|
private |
scheduled 값을 보관합니다.
BatchedDispatcher.cs 파일의 89 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Flush(), ScheduleFlushIfNeeded().
|
static |