summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/doc.go9
-rw-r--r--common/jobs/interface.go31
-rw-r--r--common/kv/interface.go42
-rw-r--r--common/pubsub/interface.go56
-rw-r--r--common/pubsub/psmessage.go15
5 files changed, 0 insertions, 153 deletions
diff --git a/common/doc.go b/common/doc.go
deleted file mode 100644
index adc03351..00000000
--- a/common/doc.go
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Package common used to collect common interfaces/structures which might be implemented (or imported) by a different plugins.
-For example, 'pubsub' interface might be implemented by memory, redis, websockets and many other plugins.
-
-Folders:
-- kv - contains KV interfaces and structures
-- pubsub - contains pub-sub interfaces and structures
-*/
-package common
diff --git a/common/jobs/interface.go b/common/jobs/interface.go
deleted file mode 100644
index 4b5ff70e..00000000
--- a/common/jobs/interface.go
+++ /dev/null
@@ -1,31 +0,0 @@
-package jobs
-
-import (
- "context"
-
- "github.com/spiral/roadrunner/v2/pkg/events"
- priorityqueue "github.com/spiral/roadrunner/v2/pkg/priority_queue"
- jobState "github.com/spiral/roadrunner/v2/pkg/state/job"
- "github.com/spiral/roadrunner/v2/plugins/jobs/job"
- "github.com/spiral/roadrunner/v2/plugins/jobs/pipeline"
-)
-
-// Consumer represents a single jobs driver interface
-type Consumer interface {
- Push(ctx context.Context, job *job.Job) error
- Register(ctx context.Context, pipeline *pipeline.Pipeline) error
- Run(ctx context.Context, pipeline *pipeline.Pipeline) error
- Stop(ctx context.Context) error
-
- Pause(ctx context.Context, pipeline string)
- Resume(ctx context.Context, pipeline string)
-
- // State provide information about driver state
- State(ctx context.Context) (*jobState.State, error)
-}
-
-// Constructor constructs Consumer interface. Endure abstraction.
-type Constructor interface {
- JobsConstruct(configKey string, e events.Handler, queue priorityqueue.Queue) (Consumer, error)
- FromPipeline(pipe *pipeline.Pipeline, e events.Handler, queue priorityqueue.Queue) (Consumer, error)
-}
diff --git a/common/kv/interface.go b/common/kv/interface.go
deleted file mode 100644
index bc6a07b2..00000000
--- a/common/kv/interface.go
+++ /dev/null
@@ -1,42 +0,0 @@
-package kv
-
-import kvv1 "github.com/spiral/roadrunner/v2/proto/kv/v1beta"
-
-// Storage represents single abstract storage.
-type Storage interface {
- // Has checks if value exists.
- Has(keys ...string) (map[string]bool, error)
-
- // Get loads value content into a byte slice.
- Get(key string) ([]byte, error)
-
- // MGet loads content of multiple values
- // Returns the map with existing keys and associated values
- MGet(keys ...string) (map[string][]byte, error)
-
- // Set used to upload item to KV with TTL
- // 0 value in TTL means no TTL
- Set(items ...*kvv1.Item) error
-
- // MExpire sets the TTL for multiply keys
- MExpire(items ...*kvv1.Item) error
-
- // TTL return the rest time to live for provided keys
- // Not supported for the memcached
- TTL(keys ...string) (map[string]string, error)
-
- // Clear clean the entire storage
- Clear() error
-
- // Delete one or multiple keys.
- Delete(keys ...string) error
-
- // Stop the storage driver
- Stop()
-}
-
-// Constructor provides storage based on the config
-type Constructor interface {
- // KVConstruct provides Storage based on the config key
- KVConstruct(key string) (Storage, error)
-}
diff --git a/common/pubsub/interface.go b/common/pubsub/interface.go
deleted file mode 100644
index 5b69d577..00000000
--- a/common/pubsub/interface.go
+++ /dev/null
@@ -1,56 +0,0 @@
-package pubsub
-
-import "context"
-
-/*
-This interface is in BETA. It might be changed.
-*/
-
-// PubSub interface designed to implement on any storage type to provide pub-sub abilities
-// Publisher used to receive messages from the PHP app via RPC
-// Subscriber should be implemented to subscribe to a topics and provide a connections list per topic
-// Reader return next message from the channel
-type PubSub interface {
- Publisher
- Subscriber
- Reader
-}
-
-type SubReader interface {
- Subscriber
- Reader
-}
-
-// Subscriber defines the ability to operate as message passing broker.
-// BETA interface
-type Subscriber interface {
- // Subscribe broker to one or multiple topics.
- Subscribe(connectionID string, topics ...string) error
-
- // Unsubscribe from one or multiply topics
- Unsubscribe(connectionID string, topics ...string) error
-
- // Connections returns all connections associated with the particular topic
- Connections(topic string, ret map[string]struct{})
-}
-
-// Publisher publish one or more messages
-// BETA interface
-type Publisher interface {
- // Publish one or multiple Channel.
- Publish(message *Message) error
-
- // PublishAsync publish message and return immediately
- // If error occurred it will be printed into the logger
- PublishAsync(message *Message)
-}
-
-// Reader interface should return next message
-type Reader interface {
- Next(ctx context.Context) (*Message, error)
-}
-
-// Constructor is a special pub-sub interface made to return a constructed PubSub type
-type Constructor interface {
- PSConstruct(key string) (PubSub, error)
-}
diff --git a/common/pubsub/psmessage.go b/common/pubsub/psmessage.go
deleted file mode 100644
index e33d9284..00000000
--- a/common/pubsub/psmessage.go
+++ /dev/null
@@ -1,15 +0,0 @@
-package pubsub
-
-import json "github.com/json-iterator/go"
-
-// Message represents a single message with payload bound to a particular topic
-type Message struct {
- // Topic (channel in terms of redis)
- Topic string `json:"topic"`
- // Payload (on some decode stages might be represented as base64 string)
- Payload []byte `json:"payload"`
-}
-
-func (m *Message) MarshalBinary() (data []byte, err error) {
- return json.Marshal(m)
-}