Documentation ¶
Index ¶
- func ForkAnySeen(inp <-chan Any) (new, old <-chan Any)
- func ForkAnySeenAttr(inp <-chan Any, attr func(a Any) interface{}) (new, old <-chan Any)
- func PipeAnySeen(inp <-chan Any) (out <-chan Any)
- func PipeAnySeenAttr(inp <-chan Any, attr func(a Any) interface{}) (out <-chan Any)
- func TubeAnySeen() (tube func(inp <-chan Any) (out <-chan Any))
- func TubeAnySeenAttr(attr func(a Any) interface{}) (tube func(inp <-chan Any) (out <-chan Any))
- type Any
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ForkAnySeen ¶
ForkAnySeen returns two channels, `new` and `old`, where `new` is to receive all `inp` not been seen before and `old` all `inp` seen before (internally growing a `sync.Map` to discriminate) until close.
func ForkAnySeenAttr ¶
ForkAnySeenAttr returns two channels, `new` and `old`, where `new` is to receive all `inp` whose attribute `attr` has not been seen before and `old` all `inp` seen before (internally growing a `sync.Map` to discriminate) until close.
func PipeAnySeen ¶
PipeAnySeen returns a channel to receive all `inp` not been seen before while silently dropping everything seen before (internally growing a `sync.Map` to discriminate) until close.
Note: PipeAnyFilterNotSeenYet might be a better name, but is fairly long.
func PipeAnySeenAttr ¶
PipeAnySeenAttr returns a channel to receive all `inp` whose attribute `attr` has not been seen before while silently dropping everything seen before (internally growing a `sync.Map` to discriminate) until close.
Note: PipeAnyFilterAttrNotSeenYet might be a better name, but is fairly long.
func TubeAnySeen ¶
TubeAnySeen returns a closure around PipeAnySeen() (silently dropping every Any seen before).
func TubeAnySeenAttr ¶
TubeAnySeenAttr returns a closure around PipeAnySeenAttr() (silently dropping every Any whose attribute `attr` was seen before).