partialString writes features specified by 'wantFeatures' to the provided bytes.Buffer.
(b *bytes.Buffer, wantFeatures []bool, sep, delim string)
| 190 | // partialString writes features specified by 'wantFeatures' to the provided |
| 191 | // bytes.Buffer. |
| 192 | func (f Features) partialString(b *bytes.Buffer, wantFeatures []bool, sep, delim string) { |
| 193 | for i, sf := range wantFeatures { |
| 194 | if sf { |
| 195 | switch FeatureIndex(i) { |
| 196 | case EnableTraceIndex: |
| 197 | b.WriteString(fmt.Sprintf("Trace%v%v%v", sep, f.EnableTrace, delim)) |
| 198 | case ReadLatenciesIndex: |
| 199 | b.WriteString(fmt.Sprintf("Latency%v%v%v", sep, f.Latency, delim)) |
| 200 | case ReadKbpsIndex: |
| 201 | b.WriteString(fmt.Sprintf("Kbps%v%v%v", sep, f.Kbps, delim)) |
| 202 | case ReadMTUIndex: |
| 203 | b.WriteString(fmt.Sprintf("MTU%v%v%v", sep, f.MTU, delim)) |
| 204 | case MaxConcurrentCallsIndex: |
| 205 | b.WriteString(fmt.Sprintf("Callers%v%v%v", sep, f.MaxConcurrentCalls, delim)) |
| 206 | case ReqSizeBytesIndex: |
| 207 | b.WriteString(fmt.Sprintf("ReqSize%v%vB%v", sep, f.ReqSizeBytes, delim)) |
| 208 | case RespSizeBytesIndex: |
| 209 | b.WriteString(fmt.Sprintf("RespSize%v%vB%v", sep, f.RespSizeBytes, delim)) |
| 210 | case ReqPayloadCurveIndex: |
| 211 | if f.ReqPayloadCurve != nil { |
| 212 | b.WriteString(fmt.Sprintf("ReqPayloadCurve%vSHA-256:%v%v", sep, f.ReqPayloadCurve.Hash(), delim)) |
| 213 | } |
| 214 | case RespPayloadCurveIndex: |
| 215 | if f.RespPayloadCurve != nil { |
| 216 | b.WriteString(fmt.Sprintf("RespPayloadCurve%vSHA-256:%v%v", sep, f.RespPayloadCurve.Hash(), delim)) |
| 217 | } |
| 218 | case CompModesIndex: |
| 219 | b.WriteString(fmt.Sprintf("Compressor%v%v%v", sep, f.ModeCompressor, delim)) |
| 220 | case EnableChannelzIndex: |
| 221 | b.WriteString(fmt.Sprintf("Channelz%v%v%v", sep, f.EnableChannelz, delim)) |
| 222 | case EnablePreloaderIndex: |
| 223 | b.WriteString(fmt.Sprintf("Preloader%v%v%v", sep, f.EnablePreloader, delim)) |
| 224 | case ClientReadBufferSize: |
| 225 | b.WriteString(fmt.Sprintf("ClientReadBufferSize%v%v%v", sep, f.ClientReadBufferSize, delim)) |
| 226 | case ClientWriteBufferSize: |
| 227 | b.WriteString(fmt.Sprintf("ClientWriteBufferSize%v%v%v", sep, f.ClientWriteBufferSize, delim)) |
| 228 | case ServerReadBufferSize: |
| 229 | b.WriteString(fmt.Sprintf("ServerReadBufferSize%v%v%v", sep, f.ServerReadBufferSize, delim)) |
| 230 | case ServerWriteBufferSize: |
| 231 | b.WriteString(fmt.Sprintf("ServerWriteBufferSize%v%v%v", sep, f.ServerWriteBufferSize, delim)) |
| 232 | case SleepBetweenRPCs: |
| 233 | b.WriteString(fmt.Sprintf("SleepBetweenRPCs%v%v%v", sep, f.SleepBetweenRPCs, delim)) |
| 234 | case RecvBufferPool: |
| 235 | b.WriteString(fmt.Sprintf("RecvBufferPool%v%v%v", sep, f.RecvBufferPool, delim)) |
| 236 | case SharedWriteBuffer: |
| 237 | b.WriteString(fmt.Sprintf("SharedWriteBuffer%v%v%v", sep, f.SharedWriteBuffer, delim)) |
| 238 | default: |
| 239 | log.Fatalf("Unknown feature index %v. maxFeatureIndex is %v", i, MaxFeatureIndex) |
| 240 | } |
| 241 | } |
| 242 | } |
| 243 | } |
| 244 | |
| 245 | // BenchResults records features and results of a benchmark run. A collection |
| 246 | // of these structs is usually serialized and written to a file after a |
no test coverage detected