| package opts |
| |
| import ( |
| "fmt" |
| |
| "github.com/docker/docker/pkg/ulimit" |
| ) |
| |
| type UlimitOpt struct { |
| values map[string]*ulimit.Ulimit |
| } |
| |
| func NewUlimitOpt(ref map[string]*ulimit.Ulimit) *UlimitOpt { |
| return &UlimitOpt{ref} |
| } |
| |
| func (o *UlimitOpt) Set(val string) error { |
| l, err := ulimit.Parse(val) |
| if err != nil { |
| return err |
| } |
| |
| o.values[l.Name] = l |
| |
| return nil |
| } |
| |
| func (o *UlimitOpt) String() string { |
| var out []string |
| for _, v := range o.values { |
| out = append(out, v.String()) |
| } |
| |
| return fmt.Sprintf("%v", out) |
| } |
| |
| func (o *UlimitOpt) GetList() []*ulimit.Ulimit { |
| var ulimits []*ulimit.Ulimit |
| for _, v := range o.values { |
| ulimits = append(ulimits, v) |
| } |
| |
| return ulimits |
| } |