func (bi *BaseInvoker) IsAvailable() bool {
	return bi.available.Load()
}
IsAvailable gets available flag
package protocol
import (
	"context"
)
import (
	perrors "github.com/pkg/errors"
	uatomic "go.uber.org/atomic"
)
import (
	"dubbo.apache.org/dubbo-go/v3/common"
	"dubbo.apache.org/dubbo-go/v3/common/logger"
)
var (
	ErrClientClosed = perrors.New("remoting client has closed")
	ErrNoReply = perrors.New("request need @response")
	ErrDestroyedInvoker = perrors.New("request Destroyed invoker")
)
type Invoker interface {
	common.Node
	Invoke(context.Context, Invocation) Result
}
type BaseInvoker struct {
	url       *common.URL
	available uatomic.Bool
	destroyed uatomic.Bool
}
func NewBaseInvoker(url *common.URL) *BaseInvoker {
	ivk := &BaseInvoker{
		url: url,
	}
	ivk.available.Store(true)
	ivk.destroyed.Store(false)
	return ivk
}
func (bi *BaseInvoker) GetURL() *common.URL {
	return bi.url
}