MCPcopy Create free account
hub / github.com/prometheus/procfs / parseCapabilities

Method parseCapabilities

net_protocols.go:148–183  ·  view source on GitHub ↗
(capabilities []string)

Source from the content-addressed store, hash-verified

146}
147
148func (pc *NetProtocolCapabilities) parseCapabilities(capabilities []string) error {
149 // The capabilities are all bools so we can loop over to map them
150 capabilityFields := [...]*bool{
151 &pc.Close,
152 &pc.Connect,
153 &pc.Disconnect,
154 &pc.Accept,
155 &pc.IoCtl,
156 &pc.Init,
157 &pc.Destroy,
158 &pc.Shutdown,
159 &pc.SetSockOpt,
160 &pc.GetSockOpt,
161 &pc.SendMsg,
162 &pc.RecvMsg,
163 &pc.SendPage,
164 &pc.Bind,
165 &pc.BacklogRcv,
166 &pc.Hash,
167 &pc.UnHash,
168 &pc.GetPort,
169 &pc.EnterMemoryPressure,
170 }
171
172 for i := range capabilities {
173 switch capabilities[i] {
174 case "y":
175 *capabilityFields[i] = true
176 case "n":
177 *capabilityFields[i] = false
178 default:
179 return fmt.Errorf("%w: capability block for protocol: position %d", ErrFileParse, i)
180 }
181 }
182 return nil
183}

Callers 2

TestParseCapabilitiesFunction · 0.95
parseLineMethod · 0.80

Calls

no outgoing calls

Tested by 1

TestParseCapabilitiesFunction · 0.76