code: func (p *Processor) SetRouter(msg proto.Message, msgRouter *chanrpc.Server) {
  	msgType := reflect.TypeOf(msg)
  	id, ok := p.msgID[msgType]
  	if !ok {
  		log.Fatal("message %s not registered", msgType)
  	}
  
  	p.msgInfo[id].msgRouter = msgRouter
  }
docs: // It's dangerous to call the method on routing or marshaling (unmarshaling)