Idioma

DispatchSource.ReadMonitor Classe

Definição

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

public class DispatchSource.ReadMonitor : CoreFoundation.DispatchSource
type DispatchSource.ReadMonitor = class
    inherit DispatchSource
Herança

Observações

Os dados devolvidos por BytesAvailable são um número estimado de bytes disponíveis para serem lidos a partir do descritor. Esta estimativa deve ser tratada como um tamanho mínimo de buffer de leitura sugerido.

Não há garantias de que uma leitura completa deste tamanho será realizada.

Os utilizadores deste tipo de fonte são fortemente encorajados a realizar E/S não bloqueante e a lidar com quaisquer leituras truncadas ou condições de erro que possam ocorrer.

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 ();

Construtores

Nome Descrição
DispatchSource.ReadMonitor(Int32, DispatchQueue)

Cria um monitor de leitura de descritores de ficheiro.

DispatchSource.ReadMonitor(IntPtr, Boolean)

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

DispatchSource.ReadMonitor(IntPtr)

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

Propriedades

Nome Descrição
BytesAvailable

Número estimado de bytes disponíveis para leitura a partir do descritor do ficheiro.

FileDescriptor

O descritor do ficheiro a ser monitorizado.

Handle

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DisposableObject)
IsCanceled

Determine se a fonte especificada foi cancelada.

(Herdado de DispatchSource)
Owns

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DisposableObject)

Métodos

Nome Descrição
Activate()

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DispatchObject)
Cancel()

Cancela assíncronamente a fonte de despacho.

(Herdado de DispatchSource)
ClearHandle()

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DisposableObject)
Dispose()

Liberta todos os recursos utilizados por este objeto.

(Herdado de DisposableObject)
Dispose(Boolean)

Liberta os recursos usados pelo objeto DispatchSource.

(Herdado de DispatchSource)
Equals(Object)

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DisposableObject)
GetCheckedHandle()

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DisposableObject)
GetHashCode()

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DisposableObject)
InitializeHandle(NativeHandle)

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DisposableObject)
Release()

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DispatchObject)
Resume()

Retoma a fonte de despacho.

(Herdado de DispatchSource)
Retain()

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DispatchObject)
SetCancelHandler(Action)

Fornece um handler de cancelamento

(Herdado de DispatchSource)
SetEventHandler(Action)

Especificou um handler para executar quando os eventos são recebidos na fonte de despacho.

(Herdado de DispatchSource)
SetRegistrationHandler(Action)

Fornece um gestor de registo

(Herdado de DispatchSource)
SetTargetQueue(DispatchQueue)

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

(Herdado de DispatchObject)
Suspend()

Suspende a fonte do despacho.

(Herdado de DispatchSource)

Métodos da Extensão

Nome Descrição
GetHandle(INativeObject)

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

GetNonNullHandle(INativeObject, String)

As fontes deste tipo monitorizam os descritores de ficheiros para dados pendentes.

Aplica-se a