(Назад к списку заданий eCo Labs)

Название: Библиотека для CDDB, ..
Заказчик: eCo Software


Срок: -
Вознаграждение: -

xio.dll

Умеет читать с http, ftp, cddb. Причем с позиционированием по файлу и read-ahead буффером. Эмулирует функции работы с файлом. Т.е. вместо использования fopen, fread, fwrite - используешь xio_fopen, xio_fread и т.п. Я смотрю, что для многих заданий ecolabs она бы пригодилась.

Область применения:

где-то это крутые понты (типа, как для PM123 возможность играть файлы с FTP), а где то - крайне необходимая вещь.

(надо добавить > 4GB, запись на FTP и HTTP, и какие то аналоги DosFinFirst/DosFindNext):

  • Любая программа легким движением руки разработчика сможет открыть файло с фтп или http.
  • движок для download managera, причем многопоточного
  • движок для утилиты синхронизации файлов на фтп (есть у вас в задании)
  • если есть сорцы dsync и они на c, можно быстро добавить возможность использования его с FTP...
  • да, shoutcast и icecast - оно тоже умеет (icecast - почти тоже самое, доп поля там только в http хидере. а в shoutcast в поток данных вплетаются информационные теги.)
  • вот представь, сделали, к примеру, todo менеджер. А он могет хранить файлы на ftp. Т.е. опаньки - и дома и на работе одна и таже инфа. Дешево и сердито. И, главное, современно.

Todo:

  • Там добавить файлы > 4GB и запись на FTP и HTTP.
  • мультиязычность для сообщений об ошибках...

Вопросы:

  • Чтение запись на FTP.. получается можно легко делать FTP-клиентов
  • А что такое чтение http с помощью fread, а запись разве бывает fwrite??

Вознаграждение:

  • -

Сроки:

  • -

Права:

  • -

 

Что умеет XIO:

1. Чтение с HTTP (в том числе icecast и shoutcast)
2. Чтение с FTP
3. Чтение с CDDB (тоже ведь может понадобиться)
3. Перемещение по файлу. Т.е. возможна докачка файлов.
4. Имеет опциональный read-ahead буфер.
6. При использовании буфера динамически управляет приоритетом треда чтения данных, чтобы обеспечить равномерное поступление данных.
7. Возможно рулить тайм-аутом подключения.
8. Работает через HTTP/FTP прокси (типа сквида)
9. Имеет интерфейс, базирующийся на C runtime. Т.е. имеет набор функций вида: xio_fopen, xio_fread, xio_fclose и т.п. (всего около 40 функций)
10. Достаточно легкое подключение новых протоколов.

Чего не умеет и не будет уметь, если останется в рамках PM123:

1. Получение списка файлов.
2. Запись на HTTP и FTP.