func (c *MessagingClient) Close() error {
	return c.internalClient.Close()
}
Wrapper methods routed to the internal client.
Close closes the connection to the API service. The user should invoke this when
the client is no longer required.
package client
import (
	"context"
	"fmt"
	"math"
	"net/url"
	"time"
	"cloud.google.com/go/longrunning"
	lroauto "cloud.google.com/go/longrunning/autogen"
	genprotopb "github.com/googleapis/gapic-showcase/server/genproto"
	gax "github.com/googleapis/gax-go/v2"
	"google.golang.org/api/iterator"
	"google.golang.org/api/option"
	"google.golang.org/api/option/internaloption"
	gtransport "google.golang.org/api/transport/grpc"
	locationpb "google.golang.org/genproto/googleapis/cloud/location"
	iampb "google.golang.org/genproto/googleapis/iam/v1"
	longrunningpb "google.golang.org/genproto/googleapis/longrunning"
	"google.golang.org/grpc"
	"google.golang.org/grpc/codes"
	"google.golang.org/grpc/metadata"
	"google.golang.org/protobuf/proto"
)
var newMessagingClientHook clientHook
type MessagingCallOptions struct {
	CreateRoom         []gax.CallOption
	GetRoom            []gax.CallOption
	UpdateRoom         []gax.CallOption
	DeleteRoom         []gax.CallOption
	ListRooms          []gax.CallOption
	CreateBlurb        []gax.CallOption
	GetBlurb           []gax.CallOption
	UpdateBlurb        []gax.CallOption
	DeleteBlurb        []gax.CallOption
	ListBlurbs         []gax.CallOption
	SearchBlurbs       []gax.CallOption
	StreamBlurbs       []gax.CallOption
	SendBlurbs         []gax.CallOption
	Connect            []gax.CallOption
	ListLocations      []gax.CallOption
	GetLocation        []gax.CallOption
	SetIamPolicy       []gax.CallOption
	GetIamPolicy       []gax.CallOption
	TestIamPermissions []gax.CallOption
	ListOperations     []gax.CallOption
	GetOperation       []gax.CallOption
	DeleteOperation    []gax.CallOption
	CancelOperation    []gax.CallOption
}
func defaultMessagingGRPCClientOptions() []option.ClientOption {
	return []option.ClientOption{
		internaloption.WithDefaultEndpoint("localhost:7469"),
		internaloption.WithDefaultMTLSEndpoint("localhost:7469"),
		internaloption.WithDefaultAudience("https://localhost/"),
		internaloption.WithDefaultScopes(DefaultAuthScopes()...),
		internaloption.EnableJwtWithScope(),
		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
	}
}
func defaultMessagingCallOptions() *MessagingCallOptions {
	return &MessagingCallOptions{
		CreateRoom: []gax.CallOption{},
		GetRoom: []gax.CallOption{
			gax.WithRetry(func() gax.Retryer {
				return gax.OnCodes([]codes.Code{
					codes.Unavailable,
					codes.Unknown,
				}, gax.Backoff{
					Initial:    100 * time.Millisecond,
					Max:        3000 * time.Millisecond,
					Multiplier: 2.00,
				})
			}),
		},
		UpdateRoom: []gax.CallOption{},
		DeleteRoom: []gax.CallOption{},
		ListRooms: []gax.CallOption{
			gax.WithRetry(func() gax.Retryer {
				return gax.OnCodes([]codes.Code{
					codes.Unavailable,
					codes.Unknown,
				}, gax.Backoff{
					Initial:    100 * time.Millisecond,
					Max:        3000 * time.Millisecond,
					Multiplier: 2.00,
				})
			}),
		},
		CreateBlurb: []gax.CallOption{},
		GetBlurb: []gax.CallOption{
			gax.WithRetry(func() gax.Retryer {
				return gax.OnCodes([]codes.Code{
					codes.Unavailable,
					codes.Unknown,
				}, gax.Backoff{
					Initial:    100 * time.Millisecond,
					Max:        3000 * time.Millisecond,
					Multiplier: 2.00,
				})
			}),
		},
		UpdateBlurb: []gax.CallOption{},
		DeleteBlurb: []gax.CallOption{},
		ListBlurbs: []gax.CallOption{
			gax.WithRetry(func() gax.Retryer {
				return gax.OnCodes([]codes.Code{
					codes.Unavailable,
					codes.Unknown,
				}, gax.Backoff{
					Initial:    100 * time.Millisecond,
					Max:        3000 * time.Millisecond,
					Multiplier: 2.00,
				})
			}),
		},
		SearchBlurbs: []gax.CallOption{
			gax.WithRetry(func() gax.Retryer {
				return gax.OnCodes([]codes.Code{
					codes.Unavailable,
					codes.Unknown,
				}, gax.Backoff{
					Initial:    100 * time.Millisecond,
					Max:        3000 * time.Millisecond,
					Multiplier: 2.00,
				})
			}),
		},
		StreamBlurbs: []gax.CallOption{},
		SendBlurbs:   []gax.CallOption{},
		Connect: []gax.CallOption{
			gax.WithRetry(func() gax.Retryer {
				return gax.OnCodes([]codes.Code{
					codes.Unavailable,
					codes.Unknown,
				}, gax.Backoff{
					Initial:    100 * time.Millisecond,
					Max:        3000 * time.Millisecond,
					Multiplier: 2.00,
				})
			}),
		},
		ListLocations:      []gax.CallOption{},
		GetLocation:        []gax.CallOption{},
		SetIamPolicy:       []gax.CallOption{},
		GetIamPolicy:       []gax.CallOption{},
		TestIamPermissions: []gax.CallOption{},
		ListOperations:     []gax.CallOption{},
		GetOperation:       []gax.CallOption{},
		DeleteOperation:    []gax.CallOption{},
		CancelOperation:    []gax.CallOption{},
	}
}
type internalMessagingClient interface {
	Close() error
	setGoogleClientInfo(...string)
	Connection() *grpc.ClientConn
	CreateRoom(context.Context, *genprotopb.CreateRoomRequest, ...gax.CallOption) (*genprotopb.Room, error)
	GetRoom(context.Context, *genprotopb.GetRoomRequest, ...gax.CallOption) (*genprotopb.Room, error)
	UpdateRoom(context.Context, *genprotopb.UpdateRoomRequest, ...gax.CallOption) (*genprotopb.Room, error)
	DeleteRoom(context.Context, *genprotopb.DeleteRoomRequest, ...gax.CallOption) error
	ListRooms(context.Context, *genprotopb.ListRoomsRequest, ...gax.CallOption) *RoomIterator
	CreateBlurb(context.Context, *genprotopb.CreateBlurbRequest, ...gax.CallOption) (*genprotopb.Blurb, error)
	GetBlurb(context.Context, *genprotopb.GetBlurbRequest, ...gax.CallOption) (*genprotopb.Blurb, error)
	UpdateBlurb(context.Context, *genprotopb.UpdateBlurbRequest, ...gax.CallOption) (*genprotopb.Blurb, error)
	DeleteBlurb(context.Context, *genprotopb.DeleteBlurbRequest, ...gax.CallOption) error
	ListBlurbs(context.Context, *genprotopb.ListBlurbsRequest, ...gax.CallOption) *BlurbIterator
	SearchBlurbs(context.Context, *genprotopb.SearchBlurbsRequest, ...gax.CallOption) (*SearchBlurbsOperation, error)
	SearchBlurbsOperation(name string) *SearchBlurbsOperation
	StreamBlurbs(context.Context, *genprotopb.StreamBlurbsRequest, ...gax.CallOption) (genprotopb.Messaging_StreamBlurbsClient, error)
	SendBlurbs(context.Context, ...gax.CallOption) (genprotopb.Messaging_SendBlurbsClient, error)
	Connect(context.Context, ...gax.CallOption) (genprotopb.Messaging_ConnectClient, error)
	ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator
	GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error)
	SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error)
	GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error)
	TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)
	ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator
	GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error)
	DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error
	CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error
}
type MessagingClient struct {
	internalClient internalMessagingClient
	CallOptions *MessagingCallOptions
	LROClient *lroauto.OperationsClient
}