語言

DispatchSource.WriteMonitor 類別

定義

此類來源會監控可用的寫入緩衝區空間。

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

備註

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

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

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

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

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

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

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

dispatchSource.Resume ();

建構函式

名稱 Description
DispatchSource.WriteMonitor(Int32, DispatchQueue)

建立一個檔案描述符監控器,當寫入檔案描述符無法阻塞時,會呼叫事件處理器。

DispatchSource.WriteMonitor(IntPtr, Boolean)

此類來源會監控可用的寫入緩衝區空間。

DispatchSource.WriteMonitor(IntPtr)

此類來源會監控可用的寫入緩衝區空間。

屬性

名稱 Description
BufferSpaceAvailable

在被監控的檔案描述符上可用寫入的緩衝空間。

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)

此類來源會監控可用的寫入緩衝區空間。

適用於