Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 12 for InitOnce (0.35 sec)

  1. internal/cachevalue/cache_test.go

    package cachevalue
    
    import (
    	"testing"
    	"time"
    )
    
    func TestCache(t *testing.T) {
    	cache := New[time.Time]()
    	t.Parallel()
    	cache.InitOnce(2*time.Second, Opts{},
    		func() (time.Time, error) {
    			return time.Now(), nil
    		},
    	)
    
    	t1, _ := cache.Get()
    
    	t2, _ := cache.Get()
    
    	if !t1.Equal(t2) {
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Wed Feb 28 17:09:09 GMT 2024
    - 1.5K bytes
    - Viewed (0)
  2. internal/cachevalue/cache.go

    	return &Cache[T]{
    		ttl:      ttl,
    		updateFn: update,
    		opts:     opts,
    	}
    }
    
    // InitOnce initializes the cache with a TTL and an update function. It is
    // guaranteed to be called only once.
    func (t *Cache[T]) InitOnce(ttl time.Duration, opts Opts, update func() (T, error)) {
    	t.Once.Do(func() {
    		t.ttl = ttl
    		t.updateFn = update
    		t.opts = opts
    	})
    }
    
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Fri Mar 01 16:00:42 GMT 2024
    - 4.2K bytes
    - Viewed (0)
  3. internal/event/target/redis.go

    			return fmt.Errorf("expected type %v does not match with available type %v", expectedType, typeAvailable)
    		}
    	}
    
    	return nil
    }
    
    // RedisTarget - Redis target.
    type RedisTarget struct {
    	initOnce once.Init
    
    	id         event.TargetID
    	args       RedisArgs
    	pool       *redis.Pool
    	store      store.Store[event.Event]
    	firstPing  bool
    	loggerOnce logger.LogOnce
    	quitCh     chan struct{}
    }
    
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Tue Mar 19 04:37:54 GMT 2024
    - 9.1K bytes
    - Viewed (0)
  4. internal/event/target/nats.go

    	}
    
    	return stan.Connect(n.Streaming.ClusterID, clientID, connOpts...)
    }
    
    // NATSTarget - NATS target.
    type NATSTarget struct {
    	initOnce once.Init
    
    	id         event.TargetID
    	args       NATSArgs
    	natsConn   *nats.Conn
    	stanConn   stan.Conn
    	jstream    nats.JetStream
    	store      store.Store[event.Event]
    	loggerOnce logger.LogOnce
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Tue Feb 27 18:11:55 GMT 2024
    - 12.8K bytes
    - Viewed (0)
  5. cmd/bucket-quota.go

    	return &BucketQuotaSys{}
    }
    
    var bucketStorageCache = cachevalue.New[DataUsageInfo]()
    
    // Init initialize bucket quota.
    func (sys *BucketQuotaSys) Init(objAPI ObjectLayer) {
    	bucketStorageCache.InitOnce(10*time.Second,
    		cachevalue.Opts{ReturnLastGood: true, NoWait: true},
    		func() (DataUsageInfo, error) {
    			ctx, done := context.WithTimeout(context.Background(), 2*time.Second)
    			defer done()
    
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu Apr 04 12:04:40 GMT 2024
    - 4.3K bytes
    - Viewed (0)
  6. internal/event/target/postgresql.go

    	if p.MaxOpenConnections < 0 {
    		return errors.New("maxOpenConnections cannot be less than zero")
    	}
    
    	return nil
    }
    
    // PostgreSQLTarget - PostgreSQL target.
    type PostgreSQLTarget struct {
    	initOnce once.Init
    
    	id         event.TargetID
    	args       PostgreSQLArgs
    	updateStmt *sql.Stmt
    	deleteStmt *sql.Stmt
    	insertStmt *sql.Stmt
    	db         *sql.DB
    	store      store.Store[event.Event]
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Wed Apr 24 17:51:07 GMT 2024
    - 13.3K bytes
    - Viewed (0)
  7. cmd/data-usage.go

    	z, ok := objAPI.(*erasureServerPools)
    	if !ok {
    		// Prefix usage is empty
    		return map[string]uint64{}, nil
    	}
    
    	cache := dataUsageCache{}
    
    	prefixUsageCache.InitOnce(30*time.Second,
    		// No need to fail upon Update() error, fallback to old value.
    		cachevalue.Opts{ReturnLastGood: true, NoWait: true},
    		func() (map[string]uint64, error) {
    			m := make(map[string]uint64)
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Thu Apr 04 12:04:40 GMT 2024
    - 5.6K bytes
    - Viewed (0)
  8. cmd/storage-rest-client.go

    		}
    		info = *infop
    		if info.Error != "" {
    			return info, toStorageErr(errors.New(info.Error))
    		}
    		return info, nil
    	} // In all other cases cache the value upto 1sec.
    
    	client.diskInfoCache.InitOnce(time.Second,
    		cachevalue.Opts{CacheError: true},
    		func() (info DiskInfo, err error) {
    			ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
    			defer cancel()
    
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Sun Apr 28 17:53:50 GMT 2024
    - 26.1K bytes
    - Viewed (0)
  9. cmd/xl-storage-disk-id-check.go

    	healthCheck  bool
    
    	metricsCache *cachevalue.Cache[DiskMetrics]
    	diskCtx      context.Context
    	diskCancel   context.CancelFunc
    }
    
    func (p *xlStorageDiskIDCheck) getMetrics() DiskMetrics {
    	p.metricsCache.InitOnce(5*time.Second,
    		cachevalue.Opts{},
    		func() (DiskMetrics, error) {
    			diskMetric := DiskMetrics{
    				LastMinute: make(map[string]AccElem, len(p.apiLatencies)),
    				APICalls:   make(map[string]uint64, len(p.apiCalls)),
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Sun Apr 28 17:53:50 GMT 2024
    - 33K bytes
    - Viewed (0)
  10. cmd/admin-handlers-users.go

    			IsOwner:         owner,
    			ObjectName:      "",
    			Claims:          cred.Claims,
    		}) {
    			wr = true
    		}
    
    		return rd, wr
    	}
    
    	bucketStorageCache.InitOnce(10*time.Second,
    		cachevalue.Opts{ReturnLastGood: true, NoWait: true},
    		func() (DataUsageInfo, error) {
    			ctx, done := context.WithTimeout(context.Background(), 2*time.Second)
    			defer done()
    
    Go
    - Registered: Sun May 05 19:28:20 GMT 2024
    - Last Modified: Wed May 01 12:41:13 GMT 2024
    - 77.5K bytes
    - Viewed (0)
Back to top