mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-02 20:09:57 +08:00
0067e2d989
Signed-off-by: xige-16 <xi.ge@zilliz.com>
625 lines
17 KiB
Go
625 lines
17 KiB
Go
package msgstream
|
|
|
|
import (
|
|
"github.com/golang/protobuf/proto"
|
|
internalPb "github.com/zilliztech/milvus-distributed/internal/proto/internalpb"
|
|
)
|
|
|
|
type MsgType = internalPb.MsgType
|
|
|
|
type TsMsg interface {
|
|
BeginTs() Timestamp
|
|
EndTs() Timestamp
|
|
Type() MsgType
|
|
HashKeys() []uint32
|
|
Marshal(TsMsg) ([]byte, error)
|
|
Unmarshal([]byte) (TsMsg, error)
|
|
}
|
|
|
|
type BaseMsg struct {
|
|
BeginTimestamp Timestamp
|
|
EndTimestamp Timestamp
|
|
HashValues []uint32
|
|
}
|
|
|
|
func (bm *BaseMsg) BeginTs() Timestamp {
|
|
return bm.BeginTimestamp
|
|
}
|
|
|
|
func (bm *BaseMsg) EndTs() Timestamp {
|
|
return bm.EndTimestamp
|
|
}
|
|
|
|
func (bm *BaseMsg) HashKeys() []uint32 {
|
|
return bm.HashValues
|
|
}
|
|
|
|
/////////////////////////////////////////Insert//////////////////////////////////////////
|
|
type InsertMsg struct {
|
|
BaseMsg
|
|
internalPb.InsertRequest
|
|
}
|
|
|
|
func (it *InsertMsg) Type() MsgType {
|
|
return it.MsgType
|
|
}
|
|
|
|
func (it *InsertMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
insertMsg := input.(*InsertMsg)
|
|
insertRequest := &insertMsg.InsertRequest
|
|
mb, err := proto.Marshal(insertRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (it *InsertMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
insertRequest := internalPb.InsertRequest{}
|
|
err := proto.Unmarshal(input, &insertRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
insertMsg := &InsertMsg{InsertRequest: insertRequest}
|
|
for _, timestamp := range insertMsg.Timestamps {
|
|
insertMsg.BeginTimestamp = timestamp
|
|
insertMsg.EndTimestamp = timestamp
|
|
break
|
|
}
|
|
for _, timestamp := range insertMsg.Timestamps {
|
|
if timestamp > insertMsg.EndTimestamp {
|
|
insertMsg.EndTimestamp = timestamp
|
|
}
|
|
if timestamp < insertMsg.BeginTimestamp {
|
|
insertMsg.BeginTimestamp = timestamp
|
|
}
|
|
}
|
|
|
|
return insertMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////Delete//////////////////////////////////////////
|
|
type DeleteMsg struct {
|
|
BaseMsg
|
|
internalPb.DeleteRequest
|
|
}
|
|
|
|
func (dt *DeleteMsg) Type() MsgType {
|
|
return dt.MsgType
|
|
}
|
|
|
|
func (dt *DeleteMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
deleteTask := input.(*DeleteMsg)
|
|
deleteRequest := &deleteTask.DeleteRequest
|
|
mb, err := proto.Marshal(deleteRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (dt *DeleteMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
deleteRequest := internalPb.DeleteRequest{}
|
|
err := proto.Unmarshal(input, &deleteRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
deleteMsg := &DeleteMsg{DeleteRequest: deleteRequest}
|
|
for _, timestamp := range deleteMsg.Timestamps {
|
|
deleteMsg.BeginTimestamp = timestamp
|
|
deleteMsg.EndTimestamp = timestamp
|
|
break
|
|
}
|
|
for _, timestamp := range deleteMsg.Timestamps {
|
|
if timestamp > deleteMsg.EndTimestamp {
|
|
deleteMsg.EndTimestamp = timestamp
|
|
}
|
|
if timestamp < deleteMsg.BeginTimestamp {
|
|
deleteMsg.BeginTimestamp = timestamp
|
|
}
|
|
}
|
|
|
|
return deleteMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////Search//////////////////////////////////////////
|
|
type SearchMsg struct {
|
|
BaseMsg
|
|
internalPb.SearchRequest
|
|
}
|
|
|
|
func (st *SearchMsg) Type() MsgType {
|
|
return st.MsgType
|
|
}
|
|
|
|
func (st *SearchMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
searchTask := input.(*SearchMsg)
|
|
searchRequest := &searchTask.SearchRequest
|
|
mb, err := proto.Marshal(searchRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (st *SearchMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
searchRequest := internalPb.SearchRequest{}
|
|
err := proto.Unmarshal(input, &searchRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
searchMsg := &SearchMsg{SearchRequest: searchRequest}
|
|
searchMsg.BeginTimestamp = searchMsg.Timestamp
|
|
searchMsg.EndTimestamp = searchMsg.Timestamp
|
|
|
|
return searchMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////SearchResult//////////////////////////////////////////
|
|
type SearchResultMsg struct {
|
|
BaseMsg
|
|
internalPb.SearchResult
|
|
}
|
|
|
|
func (srt *SearchResultMsg) Type() MsgType {
|
|
return srt.MsgType
|
|
}
|
|
|
|
func (srt *SearchResultMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
searchResultTask := input.(*SearchResultMsg)
|
|
searchResultRequest := &searchResultTask.SearchResult
|
|
mb, err := proto.Marshal(searchResultRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (srt *SearchResultMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
searchResultRequest := internalPb.SearchResult{}
|
|
err := proto.Unmarshal(input, &searchResultRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
searchResultMsg := &SearchResultMsg{SearchResult: searchResultRequest}
|
|
searchResultMsg.BeginTimestamp = searchResultMsg.Timestamp
|
|
searchResultMsg.EndTimestamp = searchResultMsg.Timestamp
|
|
|
|
return searchResultMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////TimeTick//////////////////////////////////////////
|
|
type TimeTickMsg struct {
|
|
BaseMsg
|
|
internalPb.TimeTickMsg
|
|
}
|
|
|
|
func (tst *TimeTickMsg) Type() MsgType {
|
|
return tst.MsgType
|
|
}
|
|
|
|
func (tst *TimeTickMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
timeTickTask := input.(*TimeTickMsg)
|
|
timeTick := &timeTickTask.TimeTickMsg
|
|
mb, err := proto.Marshal(timeTick)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (tst *TimeTickMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
timeTickMsg := internalPb.TimeTickMsg{}
|
|
err := proto.Unmarshal(input, &timeTickMsg)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
timeTick := &TimeTickMsg{TimeTickMsg: timeTickMsg}
|
|
timeTick.BeginTimestamp = timeTick.Timestamp
|
|
timeTick.EndTimestamp = timeTick.Timestamp
|
|
|
|
return timeTick, nil
|
|
}
|
|
|
|
/////////////////////////////////////////QueryNodeStats//////////////////////////////////////////
|
|
type QueryNodeStatsMsg struct {
|
|
BaseMsg
|
|
internalPb.QueryNodeStats
|
|
}
|
|
|
|
func (qs *QueryNodeStatsMsg) Type() MsgType {
|
|
return qs.MsgType
|
|
}
|
|
|
|
func (qs *QueryNodeStatsMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
queryNodeSegStatsTask := input.(*QueryNodeStatsMsg)
|
|
queryNodeSegStats := &queryNodeSegStatsTask.QueryNodeStats
|
|
mb, err := proto.Marshal(queryNodeSegStats)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (qs *QueryNodeStatsMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
queryNodeSegStats := internalPb.QueryNodeStats{}
|
|
err := proto.Unmarshal(input, &queryNodeSegStats)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
queryNodeSegStatsMsg := &QueryNodeStatsMsg{QueryNodeStats: queryNodeSegStats}
|
|
|
|
return queryNodeSegStatsMsg, nil
|
|
}
|
|
|
|
///////////////////////////////////////////Key2Seg//////////////////////////////////////////
|
|
//type Key2SegMsg struct {
|
|
// BaseMsg
|
|
// internalPb.Key2SegMsg
|
|
//}
|
|
//
|
|
//func (k2st *Key2SegMsg) Type() MsgType {
|
|
// return
|
|
//}
|
|
|
|
/////////////////////////////////////////CreateCollection//////////////////////////////////////////
|
|
type CreateCollectionMsg struct {
|
|
BaseMsg
|
|
internalPb.CreateCollectionRequest
|
|
}
|
|
|
|
func (cc *CreateCollectionMsg) Type() MsgType {
|
|
return cc.MsgType
|
|
}
|
|
|
|
func (cc *CreateCollectionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
createCollectionMsg := input.(*CreateCollectionMsg)
|
|
createCollectionRequest := &createCollectionMsg.CreateCollectionRequest
|
|
mb, err := proto.Marshal(createCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (cc *CreateCollectionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
createCollectionRequest := internalPb.CreateCollectionRequest{}
|
|
err := proto.Unmarshal(input, &createCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
createCollectionMsg := &CreateCollectionMsg{CreateCollectionRequest: createCollectionRequest}
|
|
createCollectionMsg.BeginTimestamp = createCollectionMsg.Timestamp
|
|
createCollectionMsg.EndTimestamp = createCollectionMsg.Timestamp
|
|
|
|
return createCollectionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////DropCollection//////////////////////////////////////////
|
|
type DropCollectionMsg struct {
|
|
BaseMsg
|
|
internalPb.DropCollectionRequest
|
|
}
|
|
|
|
func (dc *DropCollectionMsg) Type() MsgType {
|
|
return dc.MsgType
|
|
}
|
|
|
|
func (dc *DropCollectionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
dropCollectionMsg := input.(*DropCollectionMsg)
|
|
dropCollectionRequest := &dropCollectionMsg.DropCollectionRequest
|
|
mb, err := proto.Marshal(dropCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (dc *DropCollectionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
dropCollectionRequest := internalPb.DropCollectionRequest{}
|
|
err := proto.Unmarshal(input, &dropCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
dropCollectionMsg := &DropCollectionMsg{DropCollectionRequest: dropCollectionRequest}
|
|
dropCollectionMsg.BeginTimestamp = dropCollectionMsg.Timestamp
|
|
dropCollectionMsg.EndTimestamp = dropCollectionMsg.Timestamp
|
|
|
|
return dropCollectionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////HasCollection//////////////////////////////////////////
|
|
type HasCollectionMsg struct {
|
|
BaseMsg
|
|
internalPb.HasCollectionRequest
|
|
}
|
|
|
|
func (hc *HasCollectionMsg) Type() MsgType {
|
|
return hc.MsgType
|
|
}
|
|
|
|
func (hc *HasCollectionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
hasCollectionMsg := input.(*HasCollectionMsg)
|
|
hasCollectionRequest := &hasCollectionMsg.HasCollectionRequest
|
|
mb, err := proto.Marshal(hasCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (hc *HasCollectionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
hasCollectionRequest := internalPb.HasCollectionRequest{}
|
|
err := proto.Unmarshal(input, &hasCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
hasCollectionMsg := &HasCollectionMsg{HasCollectionRequest: hasCollectionRequest}
|
|
hasCollectionMsg.BeginTimestamp = hasCollectionMsg.Timestamp
|
|
hasCollectionMsg.EndTimestamp = hasCollectionMsg.Timestamp
|
|
|
|
return hasCollectionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////DescribeCollection//////////////////////////////////////////
|
|
type DescribeCollectionMsg struct {
|
|
BaseMsg
|
|
internalPb.DescribeCollectionRequest
|
|
}
|
|
|
|
func (dc *DescribeCollectionMsg) Type() MsgType {
|
|
return dc.MsgType
|
|
}
|
|
|
|
func (dc *DescribeCollectionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
describeCollectionMsg := input.(*DescribeCollectionMsg)
|
|
describeCollectionRequest := &describeCollectionMsg.DescribeCollectionRequest
|
|
mb, err := proto.Marshal(describeCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (dc *DescribeCollectionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
describeCollectionRequest := internalPb.DescribeCollectionRequest{}
|
|
err := proto.Unmarshal(input, &describeCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
describeCollectionMsg := &DescribeCollectionMsg{DescribeCollectionRequest: describeCollectionRequest}
|
|
describeCollectionMsg.BeginTimestamp = describeCollectionMsg.Timestamp
|
|
describeCollectionMsg.EndTimestamp = describeCollectionMsg.Timestamp
|
|
|
|
return describeCollectionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////ShowCollection//////////////////////////////////////////
|
|
type ShowCollectionMsg struct {
|
|
BaseMsg
|
|
internalPb.ShowCollectionRequest
|
|
}
|
|
|
|
func (sc *ShowCollectionMsg) Type() MsgType {
|
|
return sc.MsgType
|
|
}
|
|
|
|
func (sc *ShowCollectionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
showCollectionMsg := input.(*ShowCollectionMsg)
|
|
showCollectionRequest := &showCollectionMsg.ShowCollectionRequest
|
|
mb, err := proto.Marshal(showCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (sc *ShowCollectionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
showCollectionRequest := internalPb.ShowCollectionRequest{}
|
|
err := proto.Unmarshal(input, &showCollectionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
showCollectionMsg := &ShowCollectionMsg{ShowCollectionRequest: showCollectionRequest}
|
|
showCollectionMsg.BeginTimestamp = showCollectionMsg.Timestamp
|
|
showCollectionMsg.EndTimestamp = showCollectionMsg.Timestamp
|
|
|
|
return showCollectionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////CreatePartition//////////////////////////////////////////
|
|
type CreatePartitionMsg struct {
|
|
BaseMsg
|
|
internalPb.CreatePartitionRequest
|
|
}
|
|
|
|
func (cc *CreatePartitionMsg) Type() MsgType {
|
|
return cc.MsgType
|
|
}
|
|
|
|
func (cc *CreatePartitionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
createPartitionMsg := input.(*CreatePartitionMsg)
|
|
createPartitionRequest := &createPartitionMsg.CreatePartitionRequest
|
|
mb, err := proto.Marshal(createPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (cc *CreatePartitionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
createPartitionRequest := internalPb.CreatePartitionRequest{}
|
|
err := proto.Unmarshal(input, &createPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
createPartitionMsg := &CreatePartitionMsg{CreatePartitionRequest: createPartitionRequest}
|
|
createPartitionMsg.BeginTimestamp = createPartitionMsg.Timestamp
|
|
createPartitionMsg.EndTimestamp = createPartitionMsg.Timestamp
|
|
|
|
return createPartitionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////DropPartition//////////////////////////////////////////
|
|
type DropPartitionMsg struct {
|
|
BaseMsg
|
|
internalPb.DropPartitionRequest
|
|
}
|
|
|
|
func (dc *DropPartitionMsg) Type() MsgType {
|
|
return dc.MsgType
|
|
}
|
|
|
|
func (dc *DropPartitionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
dropPartitionMsg := input.(*DropPartitionMsg)
|
|
dropPartitionRequest := &dropPartitionMsg.DropPartitionRequest
|
|
mb, err := proto.Marshal(dropPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (dc *DropPartitionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
dropPartitionRequest := internalPb.DropPartitionRequest{}
|
|
err := proto.Unmarshal(input, &dropPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
dropPartitionMsg := &DropPartitionMsg{DropPartitionRequest: dropPartitionRequest}
|
|
dropPartitionMsg.BeginTimestamp = dropPartitionMsg.Timestamp
|
|
dropPartitionMsg.EndTimestamp = dropPartitionMsg.Timestamp
|
|
|
|
return dropPartitionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////HasPartition//////////////////////////////////////////
|
|
type HasPartitionMsg struct {
|
|
BaseMsg
|
|
internalPb.HasPartitionRequest
|
|
}
|
|
|
|
func (hc *HasPartitionMsg) Type() MsgType {
|
|
return hc.MsgType
|
|
}
|
|
|
|
func (hc *HasPartitionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
hasPartitionMsg := input.(*HasPartitionMsg)
|
|
hasPartitionRequest := &hasPartitionMsg.HasPartitionRequest
|
|
mb, err := proto.Marshal(hasPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (hc *HasPartitionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
hasPartitionRequest := internalPb.HasPartitionRequest{}
|
|
err := proto.Unmarshal(input, &hasPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
hasPartitionMsg := &HasPartitionMsg{HasPartitionRequest: hasPartitionRequest}
|
|
hasPartitionMsg.BeginTimestamp = hasPartitionMsg.Timestamp
|
|
hasPartitionMsg.EndTimestamp = hasPartitionMsg.Timestamp
|
|
|
|
return hasPartitionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////DescribePartition//////////////////////////////////////////
|
|
type DescribePartitionMsg struct {
|
|
BaseMsg
|
|
internalPb.DescribePartitionRequest
|
|
}
|
|
|
|
func (dc *DescribePartitionMsg) Type() MsgType {
|
|
return dc.MsgType
|
|
}
|
|
|
|
func (dc *DescribePartitionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
describePartitionMsg := input.(*DescribePartitionMsg)
|
|
describePartitionRequest := &describePartitionMsg.DescribePartitionRequest
|
|
mb, err := proto.Marshal(describePartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (dc *DescribePartitionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
describePartitionRequest := internalPb.DescribePartitionRequest{}
|
|
err := proto.Unmarshal(input, &describePartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
describePartitionMsg := &DescribePartitionMsg{DescribePartitionRequest: describePartitionRequest}
|
|
describePartitionMsg.BeginTimestamp = describePartitionMsg.Timestamp
|
|
describePartitionMsg.EndTimestamp = describePartitionMsg.Timestamp
|
|
|
|
return describePartitionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////ShowPartition//////////////////////////////////////////
|
|
type ShowPartitionMsg struct {
|
|
BaseMsg
|
|
internalPb.ShowPartitionRequest
|
|
}
|
|
|
|
func (sc *ShowPartitionMsg) Type() MsgType {
|
|
return sc.MsgType
|
|
}
|
|
|
|
func (sc *ShowPartitionMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
showPartitionMsg := input.(*ShowPartitionMsg)
|
|
showPartitionRequest := &showPartitionMsg.ShowPartitionRequest
|
|
mb, err := proto.Marshal(showPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (sc *ShowPartitionMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
showPartitionRequest := internalPb.ShowPartitionRequest{}
|
|
err := proto.Unmarshal(input, &showPartitionRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
showPartitionMsg := &ShowPartitionMsg{ShowPartitionRequest: showPartitionRequest}
|
|
showPartitionMsg.BeginTimestamp = showPartitionMsg.Timestamp
|
|
showPartitionMsg.EndTimestamp = showPartitionMsg.Timestamp
|
|
|
|
return showPartitionMsg, nil
|
|
}
|
|
|
|
/////////////////////////////////////////LoadIndex//////////////////////////////////////////
|
|
type LoadIndexMsg struct {
|
|
BaseMsg
|
|
internalPb.LoadIndex
|
|
}
|
|
|
|
func (lim *LoadIndexMsg) Type() MsgType {
|
|
return lim.MsgType
|
|
}
|
|
|
|
func (lim *LoadIndexMsg) Marshal(input TsMsg) ([]byte, error) {
|
|
loadIndexMsg := input.(*LoadIndexMsg)
|
|
loadIndexRequest := &loadIndexMsg.LoadIndex
|
|
mb, err := proto.Marshal(loadIndexRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return mb, nil
|
|
}
|
|
|
|
func (lim *LoadIndexMsg) Unmarshal(input []byte) (TsMsg, error) {
|
|
loadIndexRequest := internalPb.LoadIndex{}
|
|
err := proto.Unmarshal(input, &loadIndexRequest)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
loadIndexMsg := &LoadIndexMsg{LoadIndex: loadIndexRequest}
|
|
|
|
return loadIndexMsg, nil
|
|
}
|