Documentation
¶
Index ¶
- type Bean
- type InitFunc
- type StorageLockFactory
- func (x *StorageLockFactory[Connection]) CreateLock(lockId string) (*storage_lock.StorageLock, error)
- func (x *StorageLockFactory[Connection]) CreateLockWithOptions(options *storage_lock.StorageLockOptions) (*storage_lock.StorageLock, error)
- func (x *StorageLockFactory[Connection]) Shutdown(ctx context.Context) error
- type StorageLockFactoryBeanFactory
- func (x *StorageLockFactoryBeanFactory[Key, Connection]) GetBean(key Key) (*Bean[Connection], bool)
- func (x *StorageLockFactoryBeanFactory[Key, Connection]) GetOrInit(ctx context.Context, key Key, initFunc InitFunc[Connection]) (*StorageLockFactory[Connection], error)
- func (x *StorageLockFactoryBeanFactory[Key, Connection]) InitBean(ctx context.Context, key Key, initFunc InitFunc[Connection]) *Bean[Connection]
- func (x *StorageLockFactoryBeanFactory[Key, Connection]) Remove(key Key) (*StorageLockFactory[Connection], bool)
- func (x *StorageLockFactoryBeanFactory[Key, Connection]) Shutdown(ctx context.Context, key Key) error
- func (x *StorageLockFactoryBeanFactory[Key, Connection]) ShutdownAll(ctx context.Context) map[Key]error
- func (x *StorageLockFactoryBeanFactory[Key, Connection]) VisitBeanMap(visitFunc func(beanMap map[Key]*Bean[Connection]))
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bean ¶ added in v0.0.2
type Bean[Connection any] struct { Factory *StorageLockFactory[Connection] Err error }
Bean 存储在Bean工厂中的Bean,用于对同一个key对应的StorageLockFactory做单例
type InitFunc ¶ added in v0.0.2
type InitFunc[Connection any] func(ctx context.Context) (*StorageLockFactory[Connection], error)
InitFunc 用于初始化StorageLockFactory的函数,参数自己闭包,参数传递不放在这个函数的签名中
type StorageLockFactory ¶
type StorageLockFactory[Connection any] struct { Storage storage.Storage ConnectionManager storage.ConnectionManager[Connection] }
StorageLockFactory 锁的工厂,锁底层是有一些资源需要管理的,这些资源可能会被多次重复使用和不使用时的资源销毁等,这个Factory就是用来管理这个的
func NewStorageLockFactory ¶
func NewStorageLockFactory[Connection any](storage storage.Storage, manager storage.ConnectionManager[Connection]) *StorageLockFactory[Connection]
func (*StorageLockFactory[Connection]) CreateLock ¶
func (x *StorageLockFactory[Connection]) CreateLock(lockId string) (*storage_lock.StorageLock, error)
func (*StorageLockFactory[Connection]) CreateLockWithOptions ¶
func (x *StorageLockFactory[Connection]) CreateLockWithOptions(options *storage_lock.StorageLockOptions) (*storage_lock.StorageLock, error)
type StorageLockFactoryBeanFactory ¶ added in v0.0.2
type StorageLockFactoryBeanFactory[Key comparable, Connection any] struct { // contains filtered or unexported fields }
StorageLockFactoryBeanFactory 用于存储管理StorageLockFactory的BeanFactory
func NewStorageLockFactoryBeanFactory ¶ added in v0.0.2
func NewStorageLockFactoryBeanFactory[Key comparable, Connection any]() *StorageLockFactoryBeanFactory[Key, Connection]
func (*StorageLockFactoryBeanFactory[Key, Connection]) GetBean ¶ added in v0.0.2
func (x *StorageLockFactoryBeanFactory[Key, Connection]) GetBean(key Key) (*Bean[Connection], bool)
GetBean 加读锁尝试根据key读取bean
func (*StorageLockFactoryBeanFactory[Key, Connection]) GetOrInit ¶ added in v0.0.2
func (x *StorageLockFactoryBeanFactory[Key, Connection]) GetOrInit(ctx context.Context, key Key, initFunc InitFunc[Connection]) (*StorageLockFactory[Connection], error)
GetOrInit 获取或者初始化StorageLockFactory
func (*StorageLockFactoryBeanFactory[Key, Connection]) InitBean ¶ added in v0.0.2
func (x *StorageLockFactoryBeanFactory[Key, Connection]) InitBean(ctx context.Context, key Key, initFunc InitFunc[Connection]) *Bean[Connection]
InitBean 初始化bean
func (*StorageLockFactoryBeanFactory[Key, Connection]) Remove ¶ added in v0.0.2
func (x *StorageLockFactoryBeanFactory[Key, Connection]) Remove(key Key) (*StorageLockFactory[Connection], bool)
Remove 从BeanFactory中删除给定key的实例
func (*StorageLockFactoryBeanFactory[Key, Connection]) Shutdown ¶ added in v0.0.2
func (x *StorageLockFactoryBeanFactory[Key, Connection]) Shutdown(ctx context.Context, key Key) error
func (*StorageLockFactoryBeanFactory[Key, Connection]) ShutdownAll ¶ added in v0.0.2
func (x *StorageLockFactoryBeanFactory[Key, Connection]) ShutdownAll(ctx context.Context) map[Key]error
func (*StorageLockFactoryBeanFactory[Key, Connection]) VisitBeanMap ¶ added in v0.0.2
func (x *StorageLockFactoryBeanFactory[Key, Connection]) VisitBeanMap(visitFunc func(beanMap map[Key]*Bean[Connection]))
Click to show internal directories.
Click to hide internal directories.