Bundle &assign(const char *str, int n) { int32 len = (int32)n; int32 addtotalsize = 0; while(len > 0) { int32 ilen = onPacketAppend(len, false); pCurrPacket_->append((uint8*)(str + addtotalsize), ilen); addtotalsize += ilen; len -= ilen; } return *this; }
Bundle &operator<<(const std::string &value) { int32 len = (int32)value.size() + 1; // +1为字符串尾部的0位置 int32 addtotalsize = 0; while(len > 0) { int32 ilen = onPacketAppend(len, false); pCurrPacket_->append(value.c_str() + addtotalsize, ilen); addtotalsize += ilen; len -= ilen; } return *this; }
Bundle &operator<<(const char *str) { int32 len = (int32)strlen(str) + 1; // +1为字符串尾部的0位置 int32 addtotalsize = 0; while(len > 0) { int32 ilen = onPacketAppend(len, false); pCurrPacket_->append(str + addtotalsize, ilen); addtotalsize += ilen; len -= ilen; } return *this; }
Bundle &assign(const char *str, int n) { int32 len = (int32)n; int32 i = 0; int32 packetmaxsize = PACKET_MAX_CHUNK_SIZE(); while(true) { len = onPacketAppend(len); if(len > 0) { pCurrPacket_->append((uint8*)str + (i++ * packetmaxsize), packetmaxsize); } else { pCurrPacket_->append((uint8*)str + (i++ * packetmaxsize), packetmaxsize + len); break; } } return *this; }
Bundle &operator<<(const char *str) { int32 len = (int32)strlen(str) + 1; int32 i = 0; int32 packetmaxsize = PACKET_MAX_CHUNK_SIZE(); while(true) { len = onPacketAppend(len); if(len > 0) { pCurrPacket_->append(str + (i++ * packetmaxsize), packetmaxsize); } else { pCurrPacket_->append(str + (i++ * packetmaxsize), packetmaxsize + len); break; } } return *this; }
Bundle &operator<<(const std::string &value) { int32 len = (int32)value.size() + 1; int32 i = 0; int32 packetmaxsize = PACKET_MAX_CHUNK_SIZE(); while(true) { len = onPacketAppend(len); if(len > 0) { pCurrPacket_->append(value.c_str() + (i++ * packetmaxsize), packetmaxsize); } else { pCurrPacket_->append(value.c_str() + (i++ * packetmaxsize), packetmaxsize + len); break; } } return *this; }
Bundle &operator<<(bool value) { onPacketAppend(sizeof(int8)); (*pCurrPacket_) << value; return *this; }
Bundle &operator<<(ENTITY_MAILBOX_TYPE value) { onPacketAppend(sizeof(int32)); (*pCurrPacket_) << value; return *this; }
Bundle &operator<<(COMPONENT_TYPE value) { onPacketAppend(sizeof(int32)); (*pCurrPacket_) << value; return *this; }
Bundle &operator<<(double value) { onPacketAppend(sizeof(double)); (*pCurrPacket_) << value; return *this; }
Bundle &operator<<(float value) { onPacketAppend(sizeof(float)); (*pCurrPacket_) << value; return *this; }
Bundle &operator<<(uint64 value) { onPacketAppend(sizeof(uint64)); (*pCurrPacket_) << value; return *this; }