Documentation
¶
Index ¶
- Constants
- Variables
- func AddResponseToDB(ticket Ticket, response []byte, kafkaDB *dbm.GoLevelDB, cdc *codec.LegacyAmino)
- func GetResponseFromDB(ticket Ticket, kafkaDB *dbm.GoLevelDB, cdc *codec.LegacyAmino) []byte
- func KafkaAdmin(kafkaPorts []string, config *sarama.Config) sarama.ClusterAdmin
- func NewConsumerGroup(kafkaPorts []string, groupID string, config *sarama.Config) sarama.ConsumerGroup
- func NewProducer(kafkaPorts []string, config *sarama.Config) sarama.SyncProducer
- func ProducerDeliverMessage(msgBytes []byte, topic string, producer sarama.SyncProducer) error
- func ProducerDeliverMessages(msgBytes [][]byte, topic string, producer sarama.SyncProducer) error
- func QueryDB(cdc *codec.LegacyAmino, kafkaDB *dbm.GoLevelDB) http.HandlerFunc
- func SaramaConfig() *sarama.Config
- func SetTicketIDtoDB(ticket Ticket, kafkaDB *dbm.GoLevelDB, cdc *codec.LegacyAmino, msg []byte)
- func TopicsInit(admin sarama.ClusterAdmin, topic string, topicDetail sarama.TopicDetail)
- type KafkaState
- type Ticket
- type TicketIDResponse
Constants ¶
const EthUnbond = "ethereum-unbond" //flushes every 3 days
const GroupEthUnbond = "group-ethereum-unbond"
const GroupMsgDelegate = "group-msg-delegate"
const GroupMsgSend = "group-msg-send"
const GroupMsgUnbond = "group-msg-unbond"
const GroupRedelegate = "group-redelegate"
const GroupRetryTendermint = "group-retry-tendermint"
const GroupToEth = "group-to-ethereum"
const GroupToTendermint = "group-to-tendermint"
const MsgDelegate = "msg-delegate" //priority2
const MsgSend = "msg-send" //priority3
const MsgUnbond = "msg-unbond" //priority1
const Redelegate = "redelegate"
const RetryTendermint = "retry-tendermint"
const ToEth = "to-ethereum"
const ToTendermint = "to-tendermint"
Variables ¶
var Groups = []string{GroupEthUnbond, GroupMsgSend, GroupMsgDelegate, GroupRedelegate, GroupMsgUnbond, GroupToEth, GroupRetryTendermint, GroupToTendermint, }
var TicketIDAtomicCounter int64
TicketIDAtomicCounter is a counter that adds when each time a function is called
var Topics = []string{ EthUnbond, MsgSend, MsgDelegate, Redelegate, MsgUnbond, ToEth, RetryTendermint, ToTendermint, }
Topics : is list of topics
Functions ¶
func AddResponseToDB ¶
func AddResponseToDB(ticket Ticket, response []byte, kafkaDB *dbm.GoLevelDB, cdc *codec.LegacyAmino)
AddResponseToDB : Updates response to DB
func GetResponseFromDB ¶
GetResponseFromDB : gives the response from DB
func KafkaAdmin ¶
func KafkaAdmin(kafkaPorts []string, config *sarama.Config) sarama.ClusterAdmin
KafkaAdmin : is admin to create topics
func NewConsumerGroup ¶
func NewProducer ¶
func NewProducer(kafkaPorts []string, config *sarama.Config) sarama.SyncProducer
NewProducer is a producer to send messages to kafka
func ProducerDeliverMessage ¶
func ProducerDeliverMessage(msgBytes []byte, topic string, producer sarama.SyncProducer) error
ProducerDeliverMessage : delivers messages to kafka
func ProducerDeliverMessages ¶
func ProducerDeliverMessages(msgBytes [][]byte, topic string, producer sarama.SyncProducer) error
func QueryDB ¶
func QueryDB(cdc *codec.LegacyAmino, kafkaDB *dbm.GoLevelDB) http.HandlerFunc
QueryDB : REST outputs info from DB
func SaramaConfig ¶
func SetTicketIDtoDB ¶
SetTicketIDtoDB : initiates ticketID in Database
func TopicsInit ¶
func TopicsInit(admin sarama.ClusterAdmin, topic string, topicDetail sarama.TopicDetail)
TopicsInit : is needed to initialise topics
Types ¶
type KafkaState ¶
type KafkaState struct {
HomeDir string
Admin sarama.ClusterAdmin
ConsumerGroup map[string]sarama.ConsumerGroup
Producer sarama.SyncProducer
Topics []string
}
KafkaState : is a struct showing the state of kafka
func NewKafkaState ¶
func NewKafkaState(kafkaPorts []string, homeDir string, topicDetail sarama.TopicDetail) KafkaState
NewKafkaState : returns a kafka state
type Ticket ¶
type Ticket string
Ticket : is a type that implements string
func TicketIDGenerator ¶
TicketIDGenerator is a random unique ticket ID generator, output is a string
type TicketIDResponse ¶
type TicketIDResponse struct {
TicketID Ticket `json:"ticketID" valid:"required~ticketID is mandatory,length(20)~ticketID length should be 20" `
}
TicketIDResponse : is a json structure to send TicketID to user