package reader import ( "log" ) type dmNode struct { BaseNode dmMsg dmMsg } func (dmNode *dmNode) Name() string { return "dmNode" } func (dmNode *dmNode) Operate(in []*Msg) []*Msg { // 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 res Msg = dmMsg return []*Msg{&res} } func newDmNode() *dmNode { baseNode := BaseNode{} baseNode.SetMaxQueueLength(maxQueueLength) baseNode.SetMaxParallelism(maxParallelism) return &dmNode{ BaseNode: baseNode, } }