candiutils

package
v1.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2024 License: Apache-2.0 Imports: 12 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HTTPRequest

type HTTPRequest interface {
	DoRequest(ctx context.Context, method, url string, requestBody []byte, headers map[string]string) (result *HTTPRequestResult, err error)
	Do(context context.Context, method, url string, reqBody []byte, headers map[string]string) (respBody []byte, respCode int, err error)
}

HTTPRequest interface

func NewHTTPRequest

func NewHTTPRequest(opts ...HTTPRequestOption) HTTPRequest

NewHTTPRequest function Request's Constructor

type HTTPRequestOption

type HTTPRequestOption func(*httpRequestImpl)

HTTPRequestOption func type

func HTTPRequestSetBreakerName

func HTTPRequestSetBreakerName(breakerName string) HTTPRequestOption

HTTPRequestSetBreakerName option func

func HTTPRequestSetClient added in v1.11.14

func HTTPRequestSetClient(cl *http.Client) HTTPRequestOption

HTTPRequestSetClient option func

func HTTPRequestSetHTTPErrorCodeThreshold

func HTTPRequestSetHTTPErrorCodeThreshold(minHTTPStatusCode int) HTTPRequestOption

HTTPRequestSetHTTPErrorCodeThreshold option func, set minimum http response code for return error when exec client request

func HTTPRequestSetRetries

func HTTPRequestSetRetries(retries int) HTTPRequestOption

HTTPRequestSetRetries option func

func HTTPRequestSetSleepBetweenRetry

func HTTPRequestSetSleepBetweenRetry(sleepBetweenRetry time.Duration) HTTPRequestOption

HTTPRequestSetSleepBetweenRetry option func

func HTTPRequestSetTLS

func HTTPRequestSetTLS(tlsConfig *tls.Config) HTTPRequestOption

HTTPRequestSetTLS option func

func HTTPRequestSetTimeout

func HTTPRequestSetTimeout(timeout time.Duration) HTTPRequestOption

HTTPRequestSetTimeout option func

type HTTPRequestResult added in v1.11.6

type HTTPRequestResult struct {
	*bytes.Buffer
	RespCode int
}

HTTPRequestResult struct

type NoopLocker added in v1.8.8

type NoopLocker struct{}

NoopLocker empty locker

func (NoopLocker) Disconnect added in v1.14.8

func (NoopLocker) Disconnect(context.Context) error

func (NoopLocker) HasBeenLocked added in v1.13.6

func (NoopLocker) HasBeenLocked(string) bool

HasBeenLocked method

func (NoopLocker) IsLocked added in v1.8.8

func (NoopLocker) IsLocked(string) bool

IsLocked method

func (NoopLocker) Lock added in v1.14.8

func (NoopLocker) Lock(string, time.Duration) (func(), error)

Lock method

func (NoopLocker) Reset added in v1.9.0

func (NoopLocker) Reset(string)

Reset method

func (NoopLocker) Unlock added in v1.9.0

func (NoopLocker) Unlock(string)

Unlock method

type RedisLocker added in v1.14.8

type RedisLocker struct {
	// contains filtered or unexported fields
}

RedisLocker lock using redis

func NewRedisLocker added in v1.8.8

func NewRedisLocker(pool *redis.Pool) *RedisLocker

NewRedisLocker constructor

func (*RedisLocker) Disconnect added in v1.14.8

func (r *RedisLocker) Disconnect(ctx context.Context) error

Disconnect close and reset

func (*RedisLocker) HasBeenLocked added in v1.14.8

func (r *RedisLocker) HasBeenLocked(key string) bool

func (*RedisLocker) IsLocked added in v1.14.8

func (r *RedisLocker) IsLocked(key string) bool

func (*RedisLocker) Lock added in v1.14.8

func (r *RedisLocker) Lock(key string, timeout time.Duration) (unlockFunc func(), err error)

Lock method

func (*RedisLocker) Reset added in v1.14.8

func (r *RedisLocker) Reset(key string)

Reset method

func (*RedisLocker) Unlock added in v1.14.8

func (r *RedisLocker) Unlock(key string)

Unlock method

type SyncPool added in v1.17.0

type SyncPool[T any] struct {
	// contains filtered or unexported fields
}

func NewSyncPool added in v1.17.0

func NewSyncPool[T any](newFunc func() T, onPut func(T)) SyncPool[T]

func (*SyncPool[T]) Get added in v1.17.0

func (s *SyncPool[T]) Get() T

func (*SyncPool[T]) Put added in v1.17.0

func (s *SyncPool[T]) Put(x T)

type WorkerPool added in v1.16.2

type WorkerPool[T any] interface {
	Dispatch(ctx context.Context, jobFunc func(context.Context, T))
	AddJob(job T)
	Finish()
}

WorkerPool implementation

func NewWorkerPool added in v1.16.2

func NewWorkerPool[T any](maxWorker int) WorkerPool[T]

NewWorkerPool create an instance of WorkerPool.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL