[#218] Support SplitInfo structure

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2020-12-02 13:10:43 +03:00
parent 707a0bcb35
commit 1fdeca84e1
11 changed files with 832 additions and 410 deletions

View file

@ -371,6 +371,46 @@ func ObjectFromGRPCMessage(m *object.Object) *Object {
return o
}
func SplitInfoToGRPCMessage(s *SplitInfo) *object.SplitInfo {
if s == nil {
return nil
}
m := new(object.SplitInfo)
m.SetSplitId(s.GetSplitID())
m.SetLastPart(
refs.ObjectIDToGRPCMessage(s.GetLastPart()),
)
m.SetLink(
refs.ObjectIDToGRPCMessage(s.GetLink()),
)
return m
}
func SplitInfoFromGRPCMessage(m *object.SplitInfo) *SplitInfo {
if m == nil {
return nil
}
r := new(SplitInfo)
r.SetSplitID(m.GetSplitId())
r.SetLastPart(
refs.ObjectIDFromGRPCMessage(m.GetLastPart()),
)
r.SetLink(
refs.ObjectIDFromGRPCMessage(m.GetLink()),
)
return r
}
func GetRequestBodyToGRPCMessage(r *GetRequestBody) *object.GetRequest_Body {
if r == nil {
return nil
@ -520,6 +560,10 @@ func GetResponseBodyToGRPCMessage(r *GetResponseBody) *object.GetResponse_Body {
m.SetChunk(
GetObjectPartChunkToGRPCMessage(t),
)
case *SplitInfo:
m.SetSplitInfo(
SplitInfoToGRPCMessage(t),
)
default:
panic(fmt.Sprintf("unknown object part %T", t))
}
@ -544,6 +588,10 @@ func GetResponseBodyFromGRPCMessage(m *object.GetResponse_Body) *GetResponseBody
r.SetObjectPart(
GetObjectPartChunkFromGRPCMessage(v),
)
case *object.GetResponse_Body_SplitInfo:
r.SetObjectPart(
SplitInfoFromGRPCMessage(v.SplitInfo),
)
default:
panic(fmt.Sprintf("unknown object part %T", v))
}