Qual biblioteca assíncrona Python seria mais adequada para o meu código? Asyncore? Torcido?
Eu tenho um programa no qual estou trabalhando que lerá duas fontes de rede simultaneamente. Eu queria experimentar uma abordagem assíncrona em vez de usar o encadeamento. Isso me levou a pensar em qual biblioteca usar ...
Eu vim com um código de exemplo simples que demonstra o que meu programa fará:
import sniffer
def first():
for station in sniffer.sniff_wifi():
log(station.mac())
def second():
for station in sniffer.sniff_ethernet():
log(station.mac())
first()
second()
Os doissniffer
Os métodos se parecem com isso:
def sniff_wifi(self):
while True:
yield mac_address
owhile True
O loop obviamente os torna bloqueadores.
Eu quero usarasyncore
para isso, pois faz parte da biblioteca padrão. Nenhuma dependência de terceiros é um bônus. No entanto, isso não significa que não o usarei se você recomendar ...
Posso conseguir o que estou tentando fazer com o asyncore? Em caso afirmativo, você poderia me mostrar como converter meu código de exemplo em 'código assíncrono'? Você conhece algum bom tutorial sobre asyncore?