producer

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

This program has been developed by students from the bachelor Computer Science at Utrecht University within the Software Project course. © Copyright Utrecht University (Department of Information and Computing Sciences)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BrokerAliceProducer

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

BrokerAliceProducer implements the producer interface

func (*BrokerAliceProducer) PublishAnalyticsRequest

func (ap *BrokerAliceProducer) PublishAnalyticsRequest(msg message.MessageFrontend, sessionID, userID, routingKey string)

PublishAnalyticsRequest will publish the message to the queue retrieved from the key value store, with the given sessionID, to the GSA

data: *[]byte, the data to publish
sessionID: *string, the ID of the session

func (*BrokerAliceProducer) PublishErrorMessage

func (ap *BrokerAliceProducer) PublishErrorMessage(err error, sessionID, routingKey string)

PublishErrorMessage publishes an error message

func (*BrokerAliceProducer) PublishFrontendMessage

func (ap *BrokerAliceProducer) PublishFrontendMessage(msg message.MessageFrontend, sessionID, userID, routingKey string)

PublishSchemaResult will publish the message to the queue retrieved from the key value store, with the given sessionID, to the UI

data: *[]byte, the data to publish
sessionID: *string, the ID of the session

func (*BrokerAliceProducer) PublishFrontendSuccessMessage

func (ap *BrokerAliceProducer) PublishFrontendSuccessMessage(typeVal string, value interface{}, sessionID, userID, routingKey string)

func (*BrokerAliceProducer) PublishMessageJsonHeaders

func (ap *BrokerAliceProducer) PublishMessageJsonHeaders(body *[]byte, routingKey string, headers *map[string]interface{}) BrokerProducerI

PublishMessage publishes a message with the specified routing key

body: *[]byte, the message to send, most likely a marshalled JSON object
routingKey: string, the key by which this message will be routed on the exchange
headers: *map[string]interface{}, the headers for this message, containing things like userID and sessionID

type BrokerProducerI

type BrokerProducerI interface {
	PublishMessageJsonHeaders(body *[]byte, routingKey string, headers *map[string]interface{}) BrokerProducerI
	PublishErrorMessage(err error, sessionID, routingKey string)
	PublishAnalyticsRequest(msg message.MessageFrontend, sessionID, userID, routingKey string)
	PublishFrontendMessage(msg message.MessageFrontend, sessionID, userID, routingKey string)
	PublishFrontendSuccessMessage(typeVal string, value interface{}, sessionID, userID, routingKey string)
}

A Producer belongs to a broker and publishes messages to a queue

func NewBrokerAliceProducer

func NewBrokerAliceProducer(producer alice.Producer, analyticsProducer alice.Producer, serviceName string) BrokerProducerI

Jump to

Keyboard shortcuts

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