func TimeoutCloser(c io.Closer, timeout time.Duration) io.Closer {
	return timeoutReaderWriterCloser{c: c, d: timeout}
}
func TimeoutCloser(c io.Closer, timeout time.Duration) io.Closer {
	return timeoutReaderWriterCloser{c: c, d: timeout}
}
func TimeoutCloser ( c io . Closer , timeout time . Duration ) io . Closer { return timeoutReaderWriterCloser { c : c , d : timeout } }
// TimeoutCloser returns an io.Closer that wraps the passed-in io.Closer.  If the underlying Closer fails to close within the alloted timeout ErrTimeout is returned.
TimeoutCloser returns an io . Closer that wraps the passed - in io . Closer . If the underlying Closer fails to close within the alloted timeout ErrTimeout is returned .