snapshot of https://github.com/ThreeDotsLabs/watermill.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
master / ci (push) Failing after 0s
Some checks failed
master / ci (push) Failing after 0s
This commit is contained in:
38
docs/content/pubsubs/gochannel.md
Normal file
38
docs/content/pubsubs/gochannel.md
Normal file
@@ -0,0 +1,38 @@
|
||||
+++
|
||||
title = "Go Channel"
|
||||
description = "A Pub/Sub implemented on Golang goroutines and channels"
|
||||
date = 2019-07-06T22:30:00+02:00
|
||||
bref = "A Pub/Sub implemented on Golang goroutines and channels"
|
||||
weight = 40
|
||||
+++
|
||||
|
||||
{{% load-snippet-partial file="src-link/pubsub/gochannel/pubsub.go" first_line_contains="// GoChannel" last_line_contains="type GoChannel struct {" %}}
|
||||
|
||||
You can find a fully functional example with Go Channels in the [Watermill examples](https://github.com/ThreeDotsLabs/watermill/tree/master/_examples/pubsubs/go-channel).
|
||||
|
||||
### Characteristics
|
||||
|
||||
| Feature | Implements | Note |
|
||||
| ------- | ---------- | ---- |
|
||||
| ConsumerGroups | no | |
|
||||
| ExactlyOnceDelivery | yes | |
|
||||
| GuaranteedOrder | yes | |
|
||||
| Persistent | no| |
|
||||
|
||||
### Configuration
|
||||
|
||||
You can inject configuration via the constructor.
|
||||
|
||||
{{% load-snippet-partial file="src-link/pubsub/gochannel/pubsub.go" first_line_contains="func NewGoChannel" last_line_contains="logger:" %}}
|
||||
|
||||
### Publishing
|
||||
|
||||
{{% load-snippet-partial file="src-link/pubsub/gochannel/pubsub.go" first_line_contains="// Publish" last_line_contains="func (g *GoChannel) Publish" %}}
|
||||
|
||||
### Subscribing
|
||||
|
||||
{{% load-snippet-partial file="src-link/pubsub/gochannel/pubsub.go" first_line_contains="// Subscribe" last_line_contains="func (g *GoChannel) Subscribe" %}}
|
||||
|
||||
### Marshaler
|
||||
|
||||
No marshaling is needed when sending messages within the process.
|
||||
Reference in New Issue
Block a user