wip: manual signaling backend

Signed-off-by: Steffen Vogel <post@steffenvogel.de>
This commit is contained in:
Steffen Vogel
2022-05-04 13:31:57 +02:00
parent 7604106212
commit 77983d1ca7
2 changed files with 71 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
package manual
import (
"context"
"go.uber.org/zap"
"riasc.eu/wice/pkg/crypto"
"riasc.eu/wice/pkg/pb"
"riasc.eu/wice/pkg/signaling"
)
func init() {
signaling.Backends["manual"] = &signaling.BackendPlugin{
New: NewBackend,
Description: "Manual",
}
}
type Backend struct {
signaling.Backend
logger *zap.Logger
events chan *pb.Event
lastMessage *pb.EncryptedMessage
}
func NewBackend(cfg *signaling.BackendConfig, events chan *pb.Event, logger *zap.Logger) (signaling.Backend, error) {
b := &Backend{
events: events,
logger: logger,
}
b.events <- &pb.Event{
Type: pb.Event_BACKEND_READY,
Event: &pb.Event_BackendReady{
BackendReady: &pb.BackendReadyEvent{
Type: pb.BackendReadyEvent_INPROCESS,
},
},
}
return b, nil
}
func (b *Backend) Close() error {
return nil
}
func (b *Backend) Publish(ctx context.Context, kp *crypto.KeyPair, msg *pb.SignalingMessage) error {
b.logger.Error("TODO: publish")
return nil
}
func (b *Backend) Subscribe(ctx context.Context, kp *crypto.KeyPair) (chan *pb.SignalingMessage, error) {
b.logger.Error("TODO: subscribe")
return nil, nil
}

View File

@@ -0,0 +1,13 @@
package manual_test
import (
"testing"
"riasc.eu/wice/internal/test"
_ "riasc.eu/wice/pkg/signaling/manual"
)
func TestBackendInProcess(t *testing.T) {
test.TestBackend(t, "manual", 10)
}