語言

DispatchSource.ReadMonitor 類別

定義

此類來源會監控待處理資料的檔案描述符。

public class DispatchSource.ReadMonitor : CoreFoundation.DispatchSource
type DispatchSource.ReadMonitor = class
    inherit DispatchSource
繼承

備註

回傳的資料 BytesAvailable 是描述符可讀取的估計位元組數。 此估計值應視為建議的最小讀取緩衝區大小。

無法保證會完成如此大規模的完整讀取。

強烈建議此類來源使用者執行非阻塞 I/O,並處理可能發生的截斷讀取或錯誤狀況。

var stream = File.OpenRead ("Demo.txt");

// The the unix file handle
var safeHandle = stream.SafeFileHandle;
IntPtr descriptor = safeHandle.DangerousGetHandle ();
int fileDescriptor = descriptor.ToInt32 ();

dispatchSource = new DispatchSource.ReadMonitor (fileDescriptor, DispatchQueue.MainQueue);

dispatchSource.SetRegistrationHandler (() => {
    Console.WriteLine ("Read monitor registered");
});

dispatchSource.SetEventHandler (() => {
    Console.WriteLine ("Read monitor: was opened in write mode")
    dispatchSource.Cancel ();
    stream.Close ();
});

dispatchSource.SetCancelHandler (() => {
    Console.WriteLine ("Read monitor cancelled");
});

dispatchSource.Resume ();

建構函式

名稱 Description
DispatchSource.ReadMonitor(Int32, DispatchQueue)

建立一個檔案描述符讀取監控器。

DispatchSource.ReadMonitor(IntPtr, Boolean)

此類來源會監控待處理資料的檔案描述符。

DispatchSource.ReadMonitor(IntPtr)

此類來源會監控待處理資料的檔案描述符。

屬性

名稱 Description
BytesAvailable

檔案描述符可讀取的估計位元組數。

FileDescriptor

檔案描述符正在被監控。

Handle

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DisposableObject)
IsCanceled

確認指定的來源是否已被取消。

(繼承來源 DispatchSource)
Owns

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DisposableObject)

方法

名稱 Description
Activate()

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DispatchObject)
Cancel()

非同步取消派遣來源。

(繼承來源 DispatchSource)
ClearHandle()

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DisposableObject)
Dispose()

釋放此物件所使用的所有資源。

(繼承來源 DisposableObject)
Dispose(Boolean)

釋放 DispatchSource 物件所使用的資源。

(繼承來源 DispatchSource)
Equals(Object)

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DisposableObject)
GetCheckedHandle()

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DisposableObject)
GetHashCode()

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DisposableObject)
InitializeHandle(NativeHandle)

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DisposableObject)
Release()

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DispatchObject)
Resume()

調度來源繼續。

(繼承來源 DispatchSource)
Retain()

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DispatchObject)
SetCancelHandler(Action)

提供取消處理程序

(繼承來源 DispatchSource)
SetEventHandler(Action)

指定一個處理程序,當派遣來源收到事件時執行。

(繼承來源 DispatchSource)
SetRegistrationHandler(Action)

提供註冊處理程序

(繼承來源 DispatchSource)
SetTargetQueue(DispatchQueue)

此類來源會監控待處理資料的檔案描述符。

(繼承來源 DispatchObject)
Suspend()

暫停調度來源。

(繼承來源 DispatchSource)

擴充方法

名稱 Description
GetHandle(INativeObject)

此類來源會監控待處理資料的檔案描述符。

GetNonNullHandle(INativeObject, String)

此類來源會監控待處理資料的檔案描述符。

適用於