Russian Qt Forum

Qt => Работа с сетью => Тема начата: fuCtor от Февраль 18, 2012, 17:42



Название: Реализация AMQP 0.9.1 протокола на Qt
Отправлено: fuCtor от Февраль 18, 2012, 17:42
Некоторое время назад заморочился работой с AMQP сервером (RabbitMQ). Стал искать готовые библиотеки, желательно на Qt, чтобы не тянуть лишнего. Как результат ничего подходящего не было найдено. Где-то Apache Runtime требовался, где-то чистые сокеты, а хотелось бы, чтобы работало в основном EventLoop (хотя тут конечно можно было бы и заморочиться упаковать все).
Но как результат открыл спецификацию и начал писать свою реализацию (отчасти for fun).
Код выложил сюда: https://github.com/fuCtor/QAMQP
На готовое к использованию решение это ни капли не похоже, т.к. пока разбираюсь с самим протоколом (грабли встречались), благо Wireshark понимает его и подсказывает где побился пакет.
На сегодня реализовано:
  • подключение
  • класс Connection
  • класс Channel
  • класс Exchange
  • класс Queue
  • метод Basic.publish
  • мутод Basic.consume
  • мутод Basic.qos

Собственно хотелось бы услышать советы по тому как лучше реализовать обработку/формирование пакетов, т.к. сейчас такое ощущение, что очень избыточно по памяти и в целом выходит :/, особенно глядя на Cи реализацию.

PS код распространяю по MIT, нужно ли что-то помещать в каждый файл (заголовок с копирайтом и тп) и в каком виде?