Documentation
¶
Index ¶
- Constants
- func EnsureDealsFilePath(id string) (string, error)
- func EnsureDownloadsFilePath(id string) (string, error)
- func EnsureInputsArchivePath(id string) (string, error)
- func EnsureInputsFilePath(id string) (string, error)
- func GetDealsFilePath(id string) string
- func GetDownloadsFilePath(id string) string
- func GetInputArchivesPath(id string) string
- func GetInputsFilePath(id string) string
- func LogSolverEvent(badge string, ev SolverEvent)
- func NewSolverServer(options http.ServerOptions, controller *SolverController, ...) (*solverServer, error)
- func ServiceLogSolverEvent(service system.Service, ev SolverEvent)
- type EmptyResponse
- type Solver
- type SolverClient
- func (client *SolverClient) AddJobOffer(jobOffer data.JobOffer) (data.JobOfferContainer, error)
- func (client *SolverClient) AddJobOfferWithFiles(jobOffer data.JobOffer, inputsPath string) (data.JobOfferContainer, error)
- func (client *SolverClient) AddResourceOffer(resourceOffer data.ResourceOffer) (data.ResourceOfferContainer, error)
- func (client *SolverClient) AddResult(result data.Result) (data.Result, error)
- func (client *SolverClient) DownloadInputFiles(id string, localPath string) error
- func (client *SolverClient) DownloadResultFiles(id string, localPath string) error
- func (client *SolverClient) GetDeal(id string) (data.DealContainer, error)
- func (client *SolverClient) GetDeals(query store.GetDealsQuery) ([]data.DealContainer, error)
- func (client *SolverClient) GetDealsWithFilter(query store.GetDealsQuery, filter func(data.DealContainer) bool) ([]data.DealContainer, error)
- func (client *SolverClient) GetJobOffers(query store.GetJobOffersQuery) ([]data.JobOfferContainer, error)
- func (client *SolverClient) GetResourceOffers(query store.GetResourceOffersQuery) ([]data.ResourceOfferContainer, error)
- func (client *SolverClient) GetResult(id string) (data.Result, error)
- func (client *SolverClient) GetValidationToken() (http.ValidationToken, error)
- func (client *SolverClient) Start(ctx context.Context, cm *system.CleanupManager) error
- func (client *SolverClient) SubscribeEvents(handler func(SolverEvent))
- func (client *SolverClient) UpdateTransactionsJobCreator(id string, payload data.DealTransactionsJobCreator) (data.DealContainer, error)
- func (client *SolverClient) UpdateTransactionsMediator(id string, payload data.DealTransactionsMediator) (data.DealContainer, error)
- func (client *SolverClient) UpdateTransactionsResourceProvider(id string, payload data.DealTransactionsResourceProvider) (data.DealContainer, error)
- func (client *SolverClient) UploadResultFiles(id string, localPath string) (data.Result, error)
- type SolverController
- type SolverEvent
- type SolverEventType
- type SolverOptions
- type SolverTimeoutOptions
- type TestStoreConfig
Constants ¶
View Source
const CONTROL_LOOP_INTERVAL = 10 * time.Second
the background "even if we have not heard of an event" loop i.e. things will not wait 10 seconds - the control loop reacts to events in the system - this 10 second background loop is just for in case we miss any events
View Source
const DB_CONN_STR = "postgres://postgres:postgres@localhost:5432/solver-db?sslmode=disable"
View Source
const DOWNLOADS_DIR = "downloaded-files"
View Source
const FILES_DIR = "job-files"
View Source
const INPUTS_DIR = "job-inputs"
Resource provider storage for expanded job inputs
View Source
const INPUT_ARCHIVES_DIR = "job-input-archives"
Solver storage for tar input files
View Source
const REQUIRED_BALANCE_IN_WEI = 0.0006
Variables ¶
This section is empty.
Functions ¶
func EnsureDealsFilePath ¶
func EnsureDownloadsFilePath ¶
func EnsureInputsArchivePath ¶ added in v2.19.0
func EnsureInputsFilePath ¶ added in v2.19.0
func GetDealsFilePath ¶
func GetDownloadsFilePath ¶
func GetInputArchivesPath ¶ added in v2.19.0
func GetInputsFilePath ¶ added in v2.19.0
func LogSolverEvent ¶
func LogSolverEvent(badge string, ev SolverEvent)
func NewSolverServer ¶
func NewSolverServer( options http.ServerOptions, controller *SolverController, store store.SolverStore, stats stats.Stats, versionConfig *system.VersionConfig, services data.ServiceConfig, meter metric.Meter, ) (*solverServer, error)
func ServiceLogSolverEvent ¶
func ServiceLogSolverEvent(service system.Service, ev SolverEvent)
Types ¶
type EmptyResponse ¶
type EmptyResponse struct{}
We use EmptyResponse to provide a type for the http.GetHandler wrapper, but the client expects a file stream and will ignore it.
type Solver ¶
type Solver struct {
// contains filtered or unexported fields
}
func NewSolver ¶
func NewSolver( options SolverOptions, store store.SolverStore, web3SDK *web3.Web3SDK, stats stats.Stats, tracer trace.Tracer, meter metric.Meter, versionConfig *system.VersionConfig, ) (*Solver, error)
func (*Solver) Start ¶
func (solver *Solver) Start(ctx context.Context, cm *system.CleanupManager, tracerProvider *sdkTrace.TracerProvider) chan error
type SolverClient ¶
type SolverClient struct {
// contains filtered or unexported fields
}
func NewSolverClient ¶
func NewSolverClient( options http.ClientOptions, ) (*SolverClient, error)
func (*SolverClient) AddJobOffer ¶
func (client *SolverClient) AddJobOffer(jobOffer data.JobOffer) (data.JobOfferContainer, error)
func (*SolverClient) AddJobOfferWithFiles ¶ added in v2.19.0
func (client *SolverClient) AddJobOfferWithFiles(jobOffer data.JobOffer, inputsPath string) (data.JobOfferContainer, error)
func (*SolverClient) AddResourceOffer ¶
func (client *SolverClient) AddResourceOffer(resourceOffer data.ResourceOffer) (data.ResourceOfferContainer, error)
func (*SolverClient) DownloadInputFiles ¶ added in v2.19.0
func (client *SolverClient) DownloadInputFiles(id string, localPath string) error
func (*SolverClient) DownloadResultFiles ¶
func (client *SolverClient) DownloadResultFiles(id string, localPath string) error
func (*SolverClient) GetDeal ¶
func (client *SolverClient) GetDeal(id string) (data.DealContainer, error)
func (*SolverClient) GetDeals ¶
func (client *SolverClient) GetDeals(query store.GetDealsQuery) ([]data.DealContainer, error)
func (*SolverClient) GetDealsWithFilter ¶
func (client *SolverClient) GetDealsWithFilter(query store.GetDealsQuery, filter func(data.DealContainer) bool) ([]data.DealContainer, error)
func (*SolverClient) GetJobOffers ¶
func (client *SolverClient) GetJobOffers(query store.GetJobOffersQuery) ([]data.JobOfferContainer, error)
func (*SolverClient) GetResourceOffers ¶
func (client *SolverClient) GetResourceOffers(query store.GetResourceOffersQuery) ([]data.ResourceOfferContainer, error)
func (*SolverClient) GetResult ¶
func (client *SolverClient) GetResult(id string) (data.Result, error)
func (*SolverClient) GetValidationToken ¶
func (client *SolverClient) GetValidationToken() (http.ValidationToken, error)
func (*SolverClient) Start ¶
func (client *SolverClient) Start(ctx context.Context, cm *system.CleanupManager) error
connect the websocket to the solver server
func (*SolverClient) SubscribeEvents ¶
func (client *SolverClient) SubscribeEvents(handler func(SolverEvent))
func (*SolverClient) UpdateTransactionsJobCreator ¶
func (client *SolverClient) UpdateTransactionsJobCreator(id string, payload data.DealTransactionsJobCreator) (data.DealContainer, error)
func (*SolverClient) UpdateTransactionsMediator ¶
func (client *SolverClient) UpdateTransactionsMediator(id string, payload data.DealTransactionsMediator) (data.DealContainer, error)
func (*SolverClient) UpdateTransactionsResourceProvider ¶
func (client *SolverClient) UpdateTransactionsResourceProvider(id string, payload data.DealTransactionsResourceProvider) (data.DealContainer, error)
func (*SolverClient) UploadResultFiles ¶
type SolverController ¶
type SolverController struct {
// contains filtered or unexported fields
}
func NewSolverController ¶
func NewSolverController( web3SDK *web3.Web3SDK, store store.SolverStore, stats stats.Stats, options SolverOptions, tracer trace.Tracer, meter metric.Meter, ) (*SolverController, error)
func (*SolverController) Start ¶
func (controller *SolverController) Start(ctx context.Context, cm *system.CleanupManager) chan error
type SolverEvent ¶
type SolverEvent struct {
EventType SolverEventType `json:"event_type"`
JobOffer *data.JobOfferContainer `json:"job_offer"`
ResourceOffer *data.ResourceOfferContainer `json:"resource_offer"`
Deal *data.DealContainer `json:"deal"`
}
type SolverEventType ¶
type SolverEventType string
add an enum for various types of event
const ( JobOfferAdded SolverEventType = "JobOfferAdded" ResourceOfferAdded SolverEventType = "ResourceOfferAdded" ResourceOfferRemoved SolverEventType = "ResourceOfferRemoved" DealAdded SolverEventType = "DealAdded" JobOfferStateUpdated SolverEventType = "JobOfferStateUpdated" ResourceOfferStateUpdated SolverEventType = "ResourceOfferStateUpdated" DealStateUpdated SolverEventType = "DealStateUpdated" DealMediatorUpdated SolverEventType = "DealMediatorUpdated" ResourceProviderTransactionsUpdated SolverEventType = "ResourceProviderTransactionsUpdated" JobCreatorTransactionsUpdated SolverEventType = "JobCreatorTransactionsUpdated" MediatorTransactionsUpdated SolverEventType = "MediatorTransactionsUpdated" )
type SolverOptions ¶
type SolverOptions struct {
Server http.ServerOptions
Store store.StoreOptions
Web3 web3.Web3Options
Services data.ServiceConfig
Stats stats.StatsOptions
Telemetry system.TelemetryOptions
Metrics system.MetricsOptions
Logs system.LogsOptions
Timeouts SolverTimeoutOptions
AdminService adminService.AdminServiceClientOptions
}
type SolverTimeoutOptions ¶ added in v2.22.0
type TestStoreConfig ¶
type TestStoreConfig struct {
Name string
Init func() (getStore func() store.SolverStore, clearStore func())
}
func SetupTestStores ¶
func SetupTestStores(t *testing.T) []TestStoreConfig
Source Files
¶
Click to show internal directories.
Click to hide internal directories.