in hessian2/basic_codec/date_codec.cc [8:26]
std::unique_ptr<T> readDate(ReaderPtr &reader) {
auto out = std::make_unique<T>();
uint8_t code = reader->read<uint8_t>().second;
switch (code) {
case 0x4b:
if (reader->byteAvailable() < 4) {
return nullptr;
}
return std::make_unique<T>(std::chrono::duration_cast<T>(
std::chrono::minutes(reader->readBE<int32_t>().second)));
case 0x4a:
if (reader->byteAvailable() < 8) {
return nullptr;
}
return std::make_unique<T>(std::chrono::duration_cast<T>(
std::chrono::milliseconds(reader->readBE<int64_t>().second)));
}
return nullptr;
}