Beispiel #1
0
void Hmm::genSeqs(ostream& ostrm, int seqs)
{
  vector<unsigned long> seq;
  for (int i = 0; i<seqs; i++) {
    genSeq(seq);
    for (unsigned int k = 0; k<seq.size(); k++) {
      if (k)
	ostrm << ' ';
      ostrm << _str2id.getStr(seq[k]);
    }
    ostrm << endl;
    seq.clear();
  }
}
Beispiel #2
0
void BaseClient::request(const ByteArray& param, CallBack cb, r_uint16 cmd, r_uint8 compress /*= COMPRESS_NONE*/)
{
    r_int64 seq = genSeq();

    ByteArray bytes;
    NetPackageHeader header(cmd, seq, compress, 0);
    if (!zlibCompress(param, bytes, NET_PACKAGE_HEADER_LENGTH))
    {
        header.m_flag.compress = COMPRESS_NONE;
    }
    header.m_length = bytes.size();
    header.encode(bytes);
    if(!m_connection->sendData(bytes, bytes.size()))
    {
        ByteArray ret;
        cb(ret, "send error");
        return;
    }
    if(NULL != cb)
    {
        boost::mutex::scoped_lock lock(m_mutex);
        m_CBs[seq] = cb;
    }
}