hi ,guru
when i decode the message ,I got the error say "Encoding error ",the first decode is correct,but when i decode the second message it show me error info. did i miss something ? please help ,thanks!
I use vs2008 + win7 + quickfast 1.4
my sample code (most from example,use initParam function to initialization ):
void initParam(){
std::ifstream templates(szTemplate, openMode);
if(!templates.good())
{
return false;
}
registry = parser.parse(templates);
analyzer = new NoHeaderAnalyzer;
analyzer->setTestSkip(0);
messageHeaderAnalyzer_.reset(analyzer);
pDecoder = new Codecs::SynchronousDecoder(registry);
pDecoder->setHeaderBytes(0);
pDecoder->setResetOnMessage(false);
pDecoder->setLimit(0);
}
Decode(const char* fastdata)
{
int result ;
result = 0 ;
istringstream faststr ;
faststr.str(fastdata) ;
try
{
if(result == 0)
{
CStepMessageConsumer *handler
= new CStepMessageConsumer(nMarketTag
, pNotify
, pDecoder
, pPlugin
);
GenericMessageBuilder builder(*handler);
Codecs::StreamingAssembler * pAssembler = new Codecs::StreamingAssembler(
registry,
*messageHeaderAnalyzer_,
builder,
false);
assembler_.reset(pAssembler);
receiver_.reset(new Communication::RawFileReceiver(
faststr));
receiver_->start(*assembler_,1400,2);
receiver_->runThreads(1,true);
}
}
catch (std::exception & e)
{
std::cerr << e.what() << std::endl;
result = -1;
}
return result;
}
