#ifndef LINTERRA_SERVER_MESSAGE #define LINTERRA_SERVER_MESSAGE #include #include #include #include #include "Message.h" #include "OCTET_STRING.h" namespace linterra { typedef int (*write_out_fn)(const void *buffer, size_t size, void *app_key); class message { apr::subpool _pool; public: message(linterra::u32 i=0, const char* u=NULL); ~message(); public: mutable apr::table queries; bool end; linterra::u32 id; linterra::u32 seq; mutable linterra::buffer url; linterra::stream data; linterra::buffer module_id(); asn_enc_rval_t encode(buffer& data) const; asn_dec_rval_t read(void* buf, linterra::i32 size); asn_enc_rval_t write(write_out_fn fn, void* ptr) const; }; }; // end namespace linterra #endif