github.com/vmware/govmomi@v0.51.0/session/keep_alive.go (about)

     1  // © Broadcom. All Rights Reserved.
     2  // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
     3  // SPDX-License-Identifier: Apache-2.0
     4  
     5  package session
     6  
     7  import (
     8  	"time"
     9  
    10  	"github.com/vmware/govmomi/session/keepalive"
    11  	"github.com/vmware/govmomi/vim25/soap"
    12  )
    13  
    14  // KeepAlive is a backward compatible wrapper around KeepAliveHandler.
    15  func KeepAlive(roundTripper soap.RoundTripper, idleTime time.Duration) soap.RoundTripper {
    16  	return KeepAliveHandler(roundTripper, idleTime, nil)
    17  }
    18  
    19  // KeepAliveHandler is a backward compatible wrapper around keepalive.NewHandlerSOAP.
    20  func KeepAliveHandler(roundTripper soap.RoundTripper, idleTime time.Duration, handler func(soap.RoundTripper) error) soap.RoundTripper {
    21  	var f func() error
    22  	if handler != nil {
    23  		f = func() error {
    24  			return handler(roundTripper)
    25  		}
    26  	}
    27  	return keepalive.NewHandlerSOAP(roundTripper, idleTime, f)
    28  }