BT

A sua opinião é importante! Por favor preencha a pesquisa do InfoQ!

Streams2: uma nova API de streaming para o Node.js

| por James Campos Seguir 0 Seguidores , traduzido por João Talles Seguir 1 Seguidores em 01 fev 2013. Tempo estimado de leitura: 1 minuto |

O Node.js, a plataforma que possibilita executar JavaScript do lado do servidor, construída sobre o Google V8, ganhou uma nova API de streaming em sua versão 0.9.4. Apelidada de "streams2", a API está agendada para inclusão na versão estável 0.10.

A nova API estabelece mecanismos de proteção contra a perda de dados, através da inicialização de streams em modo pausado: a streams2 só emite eventos de dados depois que manipuladores de eventos forem anexados. O estado pausado garante que nenhum evento de dados seja emitido. Além disso, um novo método read() foi criado, possibilitando que um número arbitrário de bytes sejam lidos do stream, deixando os demais bytes disponíveis para outra aplicação consumí-los.

Os métodos e eventos antigos foram mantidos, visando compatibilidade retroativa:

Streams de leitura mudam para o "modo antigo" quando um manipulador de eventos de dados (data events) é anexado, ou quando são executados os métodos pause() ou resume(). O efeito disso é que mesmo que não se esteja utilizando o novo método "read" e os eventos "readable", não é necessário mais se preocupar com a perda de partes de dados.

Com isso, uma situação limite passa a existir: se nenhum manipulador do evento de dados for criado, e os métodos pause() e resume() nunca forem executados, o stream nunca emitirá o evento "end" e permanecerá pausado para sempre.

Uma nova implementação de Streams vem sendo discutida desde a versão 0.4 do Node.js, mas outros problemas mais urgentes eram sempre passados à frente. Além disso a compatibilidade retroativa era considerada difícil de ser implementada, sendo necessária para garantir a adoção das novas funcionalidades. Na versão 0.10, a questão será finalmente resolvida, e os desenvolvedores já são encorajados a testar a nova API e fornecer feedback sobre seu funcionamento.

O Node.js foi projetado para a criação de aplicações em rede, escaláveis e de alto desempenho. É desenvolvido pela empresa Joyent Inc e pela comunidade open source, sendo atualmente utilizado por grandes empresas como a Microsoft, LinkedIn e eBay.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT