AIR Download Manager

El otro día se me planteó la duda de si sería posible hacer algo parecido a un gestor de descargas con AIR. Después de experimentar un poco con las APIs de network junto con un poco de investigación de cómo trabaja el protocolo HTTP internamente he sacado un prototipo de lo que podría ser el core de este hipotético gestor de descargas.
Aquí enumero las funcionalidades que se esperan de un gestor de descargas y si están implementadas en el prototipo:
- pause / resume download:
Esta es la funcionalidad más importante y esencial de un gestor de descargas. La posibilidad de pausar / reanudar el proceso de descargan tantas veces como sea necesario.
Esta funcionalidad si está implementada en el prototipo. - multipart download:
Esta funcionalidad no es esencial pero si un plus a tener en cuenta para cualquier gestor de descargas que se precie. La posibilidad de segmentar la descarga de un mismo archivo en varios hilos de tal forma que el proceso de descarga sea más rápido, hasta un 200% más rápido (existen limitaciones en la velocidad de descarga de las conexiones individuales).
Esta funcionalidad si está implementada en el prototipo. - Posibilidad de persistir la sesión de descarga:
Esta funcionalidad es esencial sobretodo si se quiere descargar grandes archivos que requieren que se reanude la descarga después de cerrar la aplicación o incluso hacer un reboot del sistema operativo. También es útil en el caso de caídas de red o cuelgues de la aplicación (crash recovery).
Esta funcionalidad no está implementada en el prototipo.
Descarga ejemplo
Descarga el código fuente del prototipo











