BetterStreams 1.0

Licença: Julgamento Gratuito ‎Tamanho do arquivo: 618.50 KB
‎Classificação dos utilizadores: 3.0/5 - ‎1 ‎votos

Sobre BetterStreams

.Biblioteca net composta por três classes para I/O assíncrono simplificado (AsyncStream), utilizando fluxos de dados alternativos (AlternateStreams), e um fluxo eficiente de espreitar e procurar (BetterBufferedStream). O BetterStreams pode facilmente melhorar o desempenho de aplicações novas ou existentes, por vezes dramaticamente, com tão pouco quanto uma alteração de uma única linha no código. O AsyncStream envolve um fluxo existente e fornece I/O assíncrono através dos métodos de Leitura padrão(), ReadByte(), Write() e WriteByte() métodos; se for chamado diretamente no fluxo embrulhado, estes exigiriam esperar por E/O para o dispositivo subjacente (como um disco), mas o AsyncStream assíncrono e automaticamente preenche ou lava automaticamente o seu tampão interno de ou para o fluxo embrulhado usando um fio de fundo e nunca bloqueará enquanto estiverem disponíveis bytes suficientes no tampão. Mesmo que a sua lógica de aplicação já esteja construída em torno de I/O sincronizado, torná-lo assíncrono normalmente não requer nada mais do que embrulhar o fluxo original num AsyncStream. AsyncStreams também fornecem elegantes exceções de manuseamento, propriedades para desempenho e comportamento de afinação quando desejado, e, como BetterBufferedStreams, procura eficiente. O AlternateStreams permite-lhe ler, escrever, eliminar, criar e listar fluxos de dados alternativos (ADS) num ficheiro NTFS. No âmbito do NTFS, cada ficheiro tem um fluxo "main" não nomeado (este é o único que as classes de I/O do Quadro manipulam) bem como zero ou mais "alternate" streams nomeados; por exemplo, o Internet Explorer utiliza um stream alternativo chamado "Zone.Identifier" para registar de que zona de segurança veio um ficheiro descarregado. Além de armazenar convenientemente metadados, também podem ser usados para criar "armazenamento composto" para dados de aplicação; em vez de, por exemplo, serializar sequencialmente dez objetos para o "main" fie stream (exigindo que todo o ficheiro seja reescrito se houver, mas o último objeto muda) cada objeto pode ser serializado para o seu próprio fluxo alternativo individualmente modificável.