/* * Copyright (c) 2019 Huawei Technologies Co., Ltd. * A-Tune is licensed under the Mulan PSL v1. * You can use this software according to the terms and conditions of the Mulan PSL v1. * You may obtain a copy of Mulan PSL v1 at: * http://license.coscl.org.cn/MulanPSL * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR * PURPOSE. * See the Mulan PSL v1 for more details. * Create: 2019-10-29 */ package schedule import ( "atune/common/schedule/filters" ) type ScheduleFilter interface { Filte(strategy string) error } func Factory(name string) ScheduleFilter { switch name { case "irq": return &filters.IrqSchedule{Name: "irq"} case "numa": return &filters.NumaSchedule{Name: "numa"} case "cpu": return &filters.CpuSchedule{Name: "cpu"} default: return nil } }