backends

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: May 15, 2020 License: MIT Imports: 10 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitGroupCacheRes

func InitGroupCacheRes(maxSize int) error

InitGroupCacheRes init the resources for groupcache init this in the handler provision stage.

Types

type Backend

type Backend interface {
	io.Writer
	io.Closer
	Clean() error
	Flush() error
	GetReader() (io.ReadCloser, error)
}

Backend is the cache storage backend.

func NewFileBackend

func NewFileBackend(path string) (Backend, error)

NewFileBackend new a disk storage backend

func NewInMemoryBackend

func NewInMemoryBackend(ctx context.Context, key string) (Backend, error)

NewInMemoryBackend get the singleton of groupcache

func WrapResponseWriterToBackend

func WrapResponseWriterToBackend(w http.ResponseWriter) Backend

type Base

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

Base wraps the http.ResponseWriter to match the Backend interface

func (*Base) Clean

func (b *Base) Clean() error

func (*Base) Close

func (b *Base) Close() error

func (*Base) Flush

func (b *Base) Flush() error

func (*Base) GetReader

func (b *Base) GetReader() (io.ReadCloser, error)

func (*Base) Write

func (b *Base) Write(p []byte) (n int, err error)

type FileBackend

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

FileBackend saves the content into a file

func (*FileBackend) Clean

func (f *FileBackend) Clean() error

func (*FileBackend) Close

func (f *FileBackend) Close() error

func (*FileBackend) Flush

func (f *FileBackend) Flush() error

Flush syncs the underlying file

func (*FileBackend) GetReader

func (f *FileBackend) GetReader() (io.ReadCloser, error)

func (*FileBackend) Write

func (f *FileBackend) Write(p []byte) (n int, err error)

type FileReader

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

FileReader is the common code to read the storages until the subscription channel is closed

func (*FileReader) Close

func (r *FileReader) Close() error

Close closes the underlying storage

func (*FileReader) Read

func (r *FileReader) Read(p []byte) (n int, err error)

type InMemoryBackend

type InMemoryBackend struct {
	Ctx context.Context
	Key string
	// contains filtered or unexported fields
}

InMemoryBackend saves the content into inmemory with the groupcache.

func (*InMemoryBackend) Clean

func (i *InMemoryBackend) Clean() error

func (*InMemoryBackend) Close

func (i *InMemoryBackend) Close() error

func (*InMemoryBackend) Flush

func (i *InMemoryBackend) Flush() error

func (*InMemoryBackend) GetReader

func (i *InMemoryBackend) GetReader() (io.ReadCloser, error)

func (*InMemoryBackend) Write

func (i *InMemoryBackend) Write(p []byte) (n int, err error)

Write adds the response content in the context for the groupcache's setter function.

type RedisBackend

type RedisBackend struct {
}

type Subscription

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

Subscription ..

func NewSubscription

func NewSubscription() *Subscription

func (*Subscription) Close

func (s *Subscription) Close()

func (*Subscription) NewSubscriber

func (s *Subscription) NewSubscriber() <-chan int

func (*Subscription) NotifyAll

func (s *Subscription) NotifyAll(newBytes int)

func (*Subscription) RemoveSubscriber

func (s *Subscription) RemoveSubscriber(subscriber <-chan int)

func (*Subscription) WaitAll

func (s *Subscription) WaitAll()

Jump to

Keyboard shortcuts

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