Что бы вы порекомендовали мне сделать, чтобы буферизовать несколько потоков (каждый поток требовал бы своего собственного буфера) в C?
Я вроде собрал решение в моей голове:
Это теоретический "псевдокод"
[ptr, ptr, ptr, ptr ... ]
Каждый ptr
является указателем на структуру:
{
stream_id
buff_ptr
}
stream_id
- это идентификатор потока (у меня есть эта информация), а buff_ptr
- это указатель на некоторые malloc
редактируемые данные. Кроме того, буферы, вероятно, должны быть гибкими, и для их гибкости придется вызывать malloc
и free
(по крайней мере, я думаю это будет?
Я бы в основном нашел нужный мне буфер, перебирая массив ptr
с.
Итак, эта "архитектура" хороша или есть лучшая?
Если кто-то задается вопросом "Зачем няне это нужно ?!" Я сделал сервер в Ruby / EventMachine, протокол действительно гнилой (если не сказать больше), и я не знаю, как еще справиться с этим ... Если нет способа заставить EventMachine буферизовать его для меня, было бы лучшим решением, я полагаю.
Спасибо.
P.S .: Извините за рейв! ~