func (im *IsMaster) ClusterClock(clock *session.ClusterClock) *IsMaster {
	if im == nil {
		im = new(IsMaster)
	}
	im.clock = clock
	return im
}
ClusterClock sets the cluster clock for this operation.
package operation
import (
	"context"
	"errors"
	"fmt"
	"runtime"
	"strconv"
	"go.mongodb.org/mongo-driver/bson"
	"go.mongodb.org/mongo-driver/internal"
	"go.mongodb.org/mongo-driver/mongo/address"
	"go.mongodb.org/mongo-driver/mongo/description"
	"go.mongodb.org/mongo-driver/version"
	"go.mongodb.org/mongo-driver/x/bsonx/bsoncore"
	"go.mongodb.org/mongo-driver/x/mongo/driver"
	"go.mongodb.org/mongo-driver/x/mongo/driver/session"
)
type IsMaster struct {
	appname            string
	compressors        []string
	saslSupportedMechs string
	d                  driver.Deployment
	clock              *session.ClusterClock
	speculativeAuth    bsoncore.Document
	topologyVersion    *description.TopologyVersion
	maxAwaitTimeMS     *int64
	res bsoncore.Document
}
var _ driver.Handshaker = (*IsMaster)(nil)
func NewIsMaster() *IsMaster { return &IsMaster{} }
func (im *IsMaster) AppName(appname string) *IsMaster {
	im.appname = appname
	return im
}