github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/mergeCode/runc/libcontainer/cgroups/fs/net_prio.go (about)

     1  // +build linux
     2  
     3  package fs
     4  
     5  import (
     6  	"github.com/opencontainers/runc/libcontainer/cgroups"
     7  	"github.com/opencontainers/runc/libcontainer/configs"
     8  )
     9  
    10  type NetPrioGroup struct {
    11  }
    12  
    13  func (s *NetPrioGroup) Name() string {
    14  	return "net_prio"
    15  }
    16  
    17  func (s *NetPrioGroup) Apply(d *cgroupData) error {
    18  	_, err := d.join("net_prio")
    19  	if err != nil && !cgroups.IsNotFound(err) {
    20  		return err
    21  	}
    22  	return nil
    23  }
    24  
    25  func (s *NetPrioGroup) Set(path string, cgroup *configs.Cgroup) error {
    26  	for _, prioMap := range cgroup.Resources.NetPrioIfpriomap {
    27  		if err := writeFile(path, "net_prio.ifpriomap", prioMap.CgroupString()); err != nil {
    28  			return err
    29  		}
    30  	}
    31  
    32  	return nil
    33  }
    34  
    35  func (s *NetPrioGroup) Remove(d *cgroupData) error {
    36  	return removePath(d.path("net_prio"))
    37  }
    38  
    39  func (s *NetPrioGroup) GetStats(path string, stats *cgroups.Stats) error {
    40  	return nil
    41  }