pkg/util/timeout/time.go (15 lines of code) (raw):

// Licensed to Elasticsearch B.V. under one or more contributor // license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright // ownership. Elasticsearch B.V. licenses this file to you under // the Apache License, Version 2.0 (the "License"); you may // not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package timeout import "time" const ( // DefaultClientTimeout client http timeout for console requests DefaultClientTimeout = 15 ) // DurationFromSize computes a time.Duration from the size, if the computed // value is smaller than the minimum timeout that is returned instead func DurationFromSize(size int64) time.Duration { const divider = 100 const multiplier = 2 var minTimeout = DefaultClientTimeout * time.Second var timeout = time.Duration(size/divider*multiplier) * time.Second if timeout < minTimeout { return minTimeout } return timeout }