service

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2019 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChannelService

type ChannelService struct {
	Storage interfaces.Storage
	P2p     interfaces.P2p
}

ChannelService implements the ChannelHandlerServer service.proto

func (*ChannelService) GetAllChannels

func (s *ChannelService) GetAllChannels(ctx context.Context, in *pb.Empty) (*pb.ChannelListResponse, error)

GetAllChannels fetches all channels from the database

func (*ChannelService) GetChannel

func (s *ChannelService) GetChannel(ctx context.Context, in *pb.ChannelSpecificRequest) (*pb.Channel, error)

GetChannel fetches a single channel from the database

func (*ChannelService) Join

Join joins a channel, subscribing to new topic in libp2p

func (*ChannelService) Leave

Leave leaves a channel, removing a subscription from libp2p

func (*ChannelService) RegisterP2p

func (s *ChannelService) RegisterP2p(p2p interfaces.P2p)

RegisterP2p registers a p2p service

func (*ChannelService) RegisterStorage

func (s *ChannelService) RegisterStorage(storage interfaces.Storage)

RegisterStorage registers a storage service to store the Channels in

type OrderService

type OrderService struct {
	Logger  interfaces.Logger
	Storage interfaces.Storage
	P2p     interfaces.P2p
}

OrderService implements the OrderService Server service.proto

func (*OrderService) Create

Create creates an Order, storing it locally and broadcasts the Order to all other nodes on the channel

func (*OrderService) Delete

Delete removes the Order with the specified ID locally, and broadcasts the same request to all other nodes on the channel

func (*OrderService) GetAllOrders

func (s *OrderService) GetAllOrders(ctx context.Context, in *pb.Empty) (*pb.OrderListResponse, error)

GetAllOrders fetches all orders from the database

func (*OrderService) GetOrder

func (s *OrderService) GetOrder(ctx context.Context, in *pb.OrderSpecificRequest) (*pb.Order, error)

GetOrder fetches a single order from the database

func (*OrderService) Lock

Lock locks the given Order if the Order is created by this node, broadcasts the lock to other nodes on the channel.

func (*OrderService) Receive

func (s *OrderService) Receive(buf []byte) error

Receive receives a buffer from p2p and tries to unmarshal it into a struct

func (*OrderService) RegisterP2p

func (s *OrderService) RegisterP2p(p2p interfaces.P2p)

RegisterP2p registers a p2p service

func (*OrderService) RegisterStorage

func (s *OrderService) RegisterStorage(storage interfaces.Storage)

RegisterStorage registers a storage service to store the Orders in

func (*OrderService) Unlock

Unlock unlocks the given Order if it's created by this node, broadcasts the unlocking operation to other nodes on the channel.

type Server

type Server struct {
	Orders   *OrderService
	Channels *ChannelService
	Logger   interfaces.Logger
}

Server contains services for both Orders and Channels

func NewServer

func NewServer(log interfaces.Logger, storage interfaces.Storage, p2p interfaces.P2p) *Server

NewServer returns a server that has connections to p2p and storage

func (*Server) Run

func (server *Server) Run(port uint)

Run runs the gRPC server

Jump to

Keyboard shortcuts

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