Untitled
unknown
c_cpp
6 months ago
2.9 kB
2
Indexable
void Datacenter::serializeToStream(NativeByteBuffer *stream) { stream->writeInt32(configVersion); stream->writeInt32(datacenterId); stream->writeInt32(lastInitVersion); stream->writeInt32(lastInitMediaVersion); size_t size; for (int b = 0; b < 4; b++) { std::vector<TcpAddress> *array; switch (b) { case 0: array = &addressesIpv4; break; case 1: array = &addressesIpv6; break; case 2: array = &addressesIpv4Download; break; case 3: array = &addressesIpv6Download; break; default: array = nullptr; break; } if (array == nullptr) { continue; } stream->writeInt32((int32_t) (size = array->size())); for (uint32_t a = 0; a < size; a++) { stream->writeString((*array)[a].address); stream->writeInt32((*array)[a].port); stream->writeInt32((*array)[a].flags); stream->writeString((*array)[a].secret); } } stream->writeBool(isCdnDatacenter); if (authKeyPerm != nullptr) { stream->writeInt32(authKeyPerm->length); stream->writeBytes(authKeyPerm); } else { stream->writeInt32(0); } stream->writeInt64(authKeyPermId); if (authKeyTemp != nullptr) { stream->writeInt32(authKeyTemp->length); stream->writeBytes(authKeyTemp); } else { stream->writeInt32(0); } stream->writeInt64(authKeyTempId); if (authKeyMediaTemp != nullptr) { stream->writeInt32(authKeyMediaTemp->length); stream->writeBytes(authKeyMediaTemp); } else { stream->writeInt32(0); } stream->writeInt64(authKeyMediaTempId); stream->writeInt32(authorized ? 1 : 0); size = 0; for (uint32_t a = 0; a < serverSalts.size(); a++) { if (serverSalts[a] != nullptr) size++; } stream->writeInt32((int32_t) size); for (uint32_t a = 0; a < serverSalts.size(); a++) { if (serverSalts[a] == nullptr) continue; stream->writeInt32(serverSalts[a]->valid_since); stream->writeInt32(serverSalts[a]->valid_until); stream->writeInt64(serverSalts[a]->salt); } size = 0; for (uint32_t a = 0; a < mediaServerSalts.size(); a++) { if (mediaServerSalts[a] != nullptr) size++; } stream->writeInt32((int32_t) size); for (uint32_t a = 0; a < mediaServerSalts.size(); a++) { if (mediaServerSalts[a] == nullptr) continue; stream->writeInt32(mediaServerSalts[a]->valid_since); stream->writeInt32(mediaServerSalts[a]->valid_until); stream->writeInt64(mediaServerSalts[a]->salt); } }
Editor is loading...
Leave a Comment