server

package
v0.30.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2022 License: Apache-2.0 Imports: 40 Imported by: 2

Documentation

Index

Constants

View Source
const (
	LivenessPath    = "/live"
	MetricsPath     = "/metrics"
	EmulatorApiPath = "/emulator/"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BadgerStorage

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

func NewBadgerStorage

func NewBadgerStorage(
	logger *logrus.Logger,
	dbPath string,
	gcInterval time.Duration,
	gcDiscardRatio float64,
) (*BadgerStorage, error)

func (*BadgerStorage) Start

func (s *BadgerStorage) Start() error

func (*BadgerStorage) Stop

func (s *BadgerStorage) Stop()

func (*BadgerStorage) Store

func (s *BadgerStorage) Store() storage.Store

type BlockResponse added in v0.27.0

type BlockResponse struct {
	Height  int    `json:"height"`
	BlockId string `json:"blockId"`
	Context string `json:"context,omitempty"`
}

type BlocksTicker

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

func NewBlocksTicker

func NewBlocksTicker(
	backend *backend.Backend,
	blockTime time.Duration,
) *BlocksTicker

func (*BlocksTicker) Start

func (t *BlocksTicker) Start() error

func (*BlocksTicker) Stop

func (t *BlocksTicker) Stop()

type Config

type Config struct {
	GRPCPort                  int
	GRPCDebug                 bool
	AdminPort                 int
	RESTPort                  int
	RESTDebug                 bool
	HTTPHeaders               []HTTPHeader
	BlockTime                 time.Duration
	ServicePublicKey          crypto.PublicKey
	ServicePrivateKey         crypto.PrivateKey
	ServiceKeySigAlgo         crypto.SignatureAlgorithm
	ServiceKeyHashAlgo        crypto.HashAlgorithm
	GenesisTokenSupply        cadence.UFix64
	TransactionExpiry         uint
	StorageLimitEnabled       bool
	MinimumStorageReservation cadence.UFix64
	StorageMBPerFLOW          cadence.UFix64
	TransactionFeesEnabled    bool
	TransactionMaxGasLimit    uint64
	ScriptGasLimit            uint64
	Persist                   bool
	// DBPath is the path to the Badger database on disk.
	DBPath string
	// DBGCInterval is the time interval at which to garbage collect the Badger value log.
	DBGCInterval time.Duration
	// DBGCDiscardRatio is the ratio of space to reclaim during a Badger garbage collection run.
	DBGCDiscardRatio float64
	// LivenessCheckTolerance is the time interval in which the server must respond to liveness probes.
	LivenessCheckTolerance time.Duration
	// Whether to deploy some extra Flow contracts when emulator starts
	WithContracts bool
}

Config is the configuration for an emulator server.

type DeployDescription added in v0.27.0

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

type EmulatorApiServer added in v0.27.0

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

func NewEmulatorApiServer added in v0.27.0

func NewEmulatorApiServer(server *EmulatorServer, backend *backend.Backend, storage *Storage) *EmulatorApiServer

func (EmulatorApiServer) CommitBlock added in v0.27.0

func (m EmulatorApiServer) CommitBlock(w http.ResponseWriter, r *http.Request)

func (EmulatorApiServer) ServeHTTP added in v0.27.0

func (m EmulatorApiServer) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (EmulatorApiServer) Snapshot added in v0.27.0

func (m EmulatorApiServer) Snapshot(w http.ResponseWriter, r *http.Request)

type EmulatorServer

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

EmulatorServer is a local server that runs a Flow Emulator instance.

The server wraps an emulated blockchain instance with the Access API gRPC handlers.

func NewEmulatorServer

func NewEmulatorServer(logger *logrus.Logger, conf *Config) *EmulatorServer

NewEmulatorServer creates a new instance of a Flow Emulator server.

func (*EmulatorServer) Start

func (s *EmulatorServer) Start()

Start starts the Flow Emulator server.

func (*EmulatorServer) Stop

func (s *EmulatorServer) Stop()

type GRPCServer

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

func NewGRPCServer

func NewGRPCServer(logger *logrus.Logger, b *backend.Backend, port int, debug bool) *GRPCServer

func (*GRPCServer) Server

func (g *GRPCServer) Server() *grpc.Server

func (*GRPCServer) Start

func (g *GRPCServer) Start() error

func (*GRPCServer) Stop

func (g *GRPCServer) Stop()

type HTTPHeader

type HTTPHeader struct {
	Key   string
	Value string
}

type HTTPServer

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

func NewAdminServer added in v0.28.0

func NewAdminServer(
	emulatorServer *EmulatorServer,
	backend *backend.Backend,
	storage *Storage,
	grpcServer *GRPCServer,
	liveness *LivenessTicker,
	port int,
	headers []HTTPHeader,
) *HTTPServer

func (*HTTPServer) Start

func (h *HTTPServer) Start() error

func (*HTTPServer) Stop

func (h *HTTPServer) Stop()

type LivenessTicker

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

func NewLivenessTicker

func NewLivenessTicker(tolerance time.Duration) *LivenessTicker

func (*LivenessTicker) Handler

func (l *LivenessTicker) Handler() http.Handler

func (*LivenessTicker) Start

func (l *LivenessTicker) Start() error

func (*LivenessTicker) Stop

func (l *LivenessTicker) Stop()

type MemoryStorage

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

func NewMemoryStorage

func NewMemoryStorage() *MemoryStorage

func (*MemoryStorage) Start

func (s *MemoryStorage) Start() error

func (*MemoryStorage) Stop

func (s *MemoryStorage) Stop()

func (*MemoryStorage) Store

func (s *MemoryStorage) Store() storage.Store

type RestServer added in v0.28.0

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

func NewRestServer added in v0.28.0

func NewRestServer(be *backend.Backend, port int, debug bool) (*RestServer, error)

func (*RestServer) Start added in v0.28.0

func (r *RestServer) Start() error

func (*RestServer) Stop added in v0.28.0

func (r *RestServer) Stop()

type Storage

type Storage interface {
	graceland.Routine
	Store() storage.Store
}

Directories

Path Synopsis
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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