func dispatchRPC()

in internal/server/server.go [76:96]


func dispatchRPC(ty byte, in []byte, conn net.Conn) (*flatbuffers.Builder, byte) {
	var err error
	var bd *flatbuffers.Builder
	hl, ok := typeHandlerMap[ty]
	if !ok {
		log.Warnf("unknown rpc type: %d", ty)
		return generateErrorReport(UnknownType{ty}), util.RPCError
	}

	bd, err = hl(in, conn)
	if err != nil {
		return generateErrorReport(err), util.RPCError
	}

	replaced, ok := checkIfDataTooLarge(bd)
	if !ok {
		return replaced, util.RPCError
	}

	return bd, ty
}