diff options
author | Valery Piashchynski <[email protected]> | 2021-05-06 19:06:46 +0300 |
---|---|---|
committer | Valery Piashchynski <[email protected]> | 2021-05-06 19:06:46 +0300 |
commit | f6ba3c077ccbc572eda26701b9dbacaf9fa453b9 (patch) | |
tree | ab6c34128aa61a21aa62ba1211ff0f9e352f1b76 /plugins/broadcast | |
parent | 4fa94bb7f73a705293c2afd40fc1151a3aaa04e2 (diff) |
- Update arch diagramm
- Update config
Signed-off-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'plugins/broadcast')
-rw-r--r-- | plugins/broadcast/doc/broadcast.drawio | 2 | ||||
-rw-r--r-- | plugins/broadcast/interface.go | 16 | ||||
-rw-r--r-- | plugins/broadcast/memory/driver.go | 2 | ||||
-rw-r--r-- | plugins/broadcast/plugin.go | 5 |
4 files changed, 13 insertions, 12 deletions
diff --git a/plugins/broadcast/doc/broadcast.drawio b/plugins/broadcast/doc/broadcast.drawio index 5f9d39b2..f610396d 100644 --- a/plugins/broadcast/doc/broadcast.drawio +++ b/plugins/broadcast/doc/broadcast.drawio @@ -1 +1 @@ -<mxfile host="Electron" modified="2021-05-04T18:10:53.311Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.5.1 Chrome/89.0.4389.128 Electron/12.0.6 Safari/537.36" etag="-7c-lVUZQ3gXb_2larRL" version="14.5.1" type="device"><diagram id="fD2kwGC0DAS2S_q_IsmE" name="Page-1">7Vpbb+I6EP41SHseQLkHHrl02+rQbbe02uW8mcQJPg0xckyB/vpjJw6JcUC0JMt2dUCK4vEF+5v5ZjwjWuZwsbkmYDm/wz6MWobmb1rmqGUYXd1iTy7YZgKr62SCkCA/E+mFYILeoBBqQrpCPkykgRTjiKKlLPRwHEOPSjJACF7LwwIcyb+6BCFUBBMPRKr0B/LpXEh7hlZ03EAUzvOfNjTRswD5aCFI5sDH65LIvGqZQ4Ixzd4WmyGMOHg5MNm8rwd6dzsjMKanTNhad+On6QDE3pMZvXwnSIv77Z7YG93mJ4Y+A0A0MaFzHOIYRFeFdEDwKvYhX1VjrWLMGOMlE+pM+C+kdCu0CVYUM9GcLiLRCzeI/iy9T/lSHVu0RhuxctrYioZ6WgFAglfEg0eOKMbxc5UmCoyuIV5ASrZsAIERoOhVVjwQ9hPuxu2mPmDEtmJowtSdXM+5pVuavAQFJIRUzCr0xF5K2yhEqfaqNTkcTaPFP66/WS37f/v++PuIJm3dvqQqtY5hl7V5VJdMhWT7s1A6b07LfcW0tJXPC1AUDXGESXo80wewG3hMnlCCX2Cpx/G6cBbsrGZP9WeZUabFI+OMOqyrTwjYlgYsudUkh43PcmTjM6w9X7A33nCPjmcv2Q4+aqHHEHwF0UrAMHi874+G/ckTE988M21pXx7Gz9e33/5SbFm21PUcUThZglRjaxZ5ZKv8qKFU2MUrJBRujjqOXAfmngPIY9i6FDhyJzEvxQxHO2wNkpd4L+AX9Qjvce4fdQgfZ7NxIptrDx5nKdRQGPRjUitTApt/K5mSfvgMHNOSPPvUw6DdrS/3Sr0TGbQfamsD3Pl8DJL4U9CpdgaZn5JBpsKgx6vRbc0kCgLDqww3vjNzbKcZsljGpcnifj6yyOFGb4ws1qcki6WQ5fZb++7q7v5xWjNhoHOAMG5vph2F/uOEsZ1LE6ar4MuOHkGP3/S1ZDVrL6NViOJEAZudmMqIggiFMXv3GD6QgTfguCAPRH3RsUC+nzEOJugNzNKlOLIitWDr2oOWPeJrMZIlGd/0eqA396A33ROhN5qCPt9QORA8sKW0wXO9wQDqvg3dKtvuOa4JagoGSvHhV+YeleWIy9ycCsfu/paVherKzXuCwy+IBZWbrPJVWcmVV2T5Yw7Z8/qeoxL7S1Fv+BIQvNj1ejgOUKgm9xzGMZjBqDmndoBRu8qxmNwyispuocnDFn6QkW2t4zhuT2Jlnr+dWWlsm2bHlBfWTXkRHAQJbKbMqNiBok2QLLNSfIA2nM1llVZEm30lo0Vak08TTcF03SjkI7QI2c4jNGNP8LYikB8yhDEkgO3+64AX/SHpJK/hMbUrRD3sW22jY8vhS3WuXTcfU/aublPeNdf3pYq95Vpv3tNEaacW/1qRqVaDem7p9iyVqpnpw/NgfDu5Oe86UgMBerrdcQyJAbp1KgXMxiigKcD8T4FDYNknUsC8JAN0Nbakd/I/4bKga9XIiuW1jm46MsPOuyo0fxGwVX9183B5X2VYHdOVkKzINd2KTKgxR9VTgJqAV7i7E6/hLMHeC1dSbl4IxwqQF0j5z1KE0d2r5VeVJ7sNpfxHwrukiOsU9QHP8Qj/ydhPKecjUkpsUFqO2QVjje1mjv3LW7q2B3BVyq93eSKsYGy/H2PWLP6qkvmQ4g8/5tV/</diagram></mxfile>
\ No newline at end of file +<mxfile host="Electron" modified="2021-05-06T16:04:55.563Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.5.1 Chrome/89.0.4389.128 Electron/12.0.6 Safari/537.36" etag="VqUxZH_MlIcOLQiFtrvy" version="14.5.1" type="device"><diagram id="fD2kwGC0DAS2S_q_IsmE" name="Page-1">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</diagram></mxfile>
\ No newline at end of file diff --git a/plugins/broadcast/interface.go b/plugins/broadcast/interface.go index 923c8105..093943af 100644 --- a/plugins/broadcast/interface.go +++ b/plugins/broadcast/interface.go @@ -2,14 +2,8 @@ package broadcast import "encoding/json" -// Broker defines the ability to operate as message passing broker. -type Broker interface { - // Serve serves broker. - Serve() error - - // Stop closes the consumption and disconnects broker. - Stop() - +// Subscriber defines the ability to operate as message passing broker. +type Subscriber interface { // Subscribe broker to one or multiple topics. Subscribe(upstream chan *Message, topics ...string) error @@ -21,7 +15,13 @@ type Broker interface { // UnsubscribePattern broker from pattern. UnsubscribePattern(upstream chan *Message, pattern string) error +} + +type Storage interface { + +} +type Publisher interface { // Publish one or multiple Channel. Publish(messages ...*Message) error } diff --git a/plugins/broadcast/memory/driver.go b/plugins/broadcast/memory/driver.go index 8a9374c9..29d67771 100644 --- a/plugins/broadcast/memory/driver.go +++ b/plugins/broadcast/memory/driver.go @@ -6,7 +6,7 @@ type Driver struct { } -func NewInMemoryDriver() broadcast.Broker { +func NewInMemoryDriver() broadcast.Subscriber { b := &Driver{ } diff --git a/plugins/broadcast/plugin.go b/plugins/broadcast/plugin.go index 45051a7f..f1ea258e 100644 --- a/plugins/broadcast/plugin.go +++ b/plugins/broadcast/plugin.go @@ -12,7 +12,7 @@ const ( ) type Plugin struct { - broker Broker + broker Subscriber log logger.Logger cfg *Config @@ -53,6 +53,7 @@ func (p *Plugin) Serve() chan error { errCh <- errors.E(op, err) } }() + return errCh } @@ -76,7 +77,7 @@ func (p *Plugin) Collects() []interface{} { } } -func (p *Plugin) CollectBroker(name endure.Named, broker Broker) { +func (p *Plugin) CollectBroker(name endure.Named, broker Subscriber) { p.broker = broker } |