milvus/internal/reader/dm_node.go
bigsheeper 88a3fa31fa Refactor query node and services
Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2020-11-05 10:52:50 +08:00

51 lines
906 B
Go

package reader
import (
"log"
)
type dmNode struct {
BaseNode
dmMsg dmMsg
}
func (dmNode *dmNode) Name() string {
return "dmNode"
}
func (dmNode *dmNode) Operate(in []*Msg) []*Msg {
// fmt.Println("Do dmNode operation")
// TODO: add filtered by schema update
// But for now, we think all the messages are valid
if len(in) != 1 {
log.Println("Invalid operate message input in filteredDmNode")
// TODO: add error handling
}
dmMsg, ok := (*in[0]).(*dmMsg)
if !ok {
log.Println("type assertion failed for dmMsg")
// TODO: add error handling
}
var fdmMsg = filteredDmMsg{
insertMessages: dmMsg.insertMessages,
timeRange: dmMsg.timeRange,
}
var res Msg = &fdmMsg
return []*Msg{&res}
}
func newDmNode() *dmNode {
baseNode := BaseNode{}
baseNode.SetMaxQueueLength(maxQueueLength)
baseNode.SetMaxParallelism(maxParallelism)
return &dmNode{
BaseNode: baseNode,
}
}