6
6
7
7
#include " error.h"
8
8
9
+ #include < library/cpp/protobuf/interop/cast.h>
10
+
9
11
#include < library/cpp/yt/assert/assert.h>
10
12
11
13
namespace NYT {
@@ -128,6 +130,16 @@ inline void FromProto(TDuration* original, ::google::protobuf::int64 serialized)
128
130
*original = TDuration::MicroSeconds (serialized);
129
131
}
130
132
133
+ inline void ToProto (::google::protobuf::Duration* serialized, TDuration original)
134
+ {
135
+ *serialized = NProtoInterop::CastToProto (original);
136
+ }
137
+
138
+ inline void FromProto (TDuration* original, ::google::protobuf::Duration serialized)
139
+ {
140
+ *original = NProtoInterop::CastFromProto (serialized);
141
+ }
142
+
131
143
// //////////////////////////////////////////////////////////////////////////////
132
144
133
145
inline void ToProto (::google::protobuf::int64* serialized, TInstant original)
@@ -140,8 +152,6 @@ inline void FromProto(TInstant* original, ::google::protobuf::int64 serialized)
140
152
*original = TInstant::MicroSeconds (serialized);
141
153
}
142
154
143
- // //////////////////////////////////////////////////////////////////////////////
144
-
145
155
inline void ToProto (::google::protobuf::uint64* serialized, TInstant original)
146
156
{
147
157
*serialized = original.MicroSeconds ();
@@ -152,6 +162,16 @@ inline void FromProto(TInstant* original, ::google::protobuf::uint64 serialized)
152
162
*original = TInstant::MicroSeconds (serialized);
153
163
}
154
164
165
+ inline void ToProto (::google::protobuf::Timestamp* serialized, TInstant original)
166
+ {
167
+ *serialized = NProtoInterop::CastToProto (original);
168
+ }
169
+
170
+ inline void FromProto (TInstant* original, ::google::protobuf::Timestamp serialized)
171
+ {
172
+ *original = NProtoInterop::CastFromProto (serialized);
173
+ }
174
+
155
175
// //////////////////////////////////////////////////////////////////////////////
156
176
157
177
template <class T >
0 commit comments