github.com/Jeffail/benthos/v3@v3.65.0/lib/types/package.go (about) 1 // Package types defines any general structs and interfaces used throughout the 2 // benthos code base. 3 // 4 // Benthos uses abstract types to represent arbitrary producers and consumers of 5 // data to its core components. This allows us to construct types for piping 6 // data in various arrangements without regard for the specific destinations and 7 // sources of our data. 8 // 9 // The basic principle behind a producer/consumer relationship is that a 10 // producer pipes data to the consumer in lock-step, where for each message sent 11 // it will expect a response that confirms the message was received and 12 // propagated onwards. 13 // 14 // Messages and responses are sent via channels, and in order to instigate this 15 // pairing each type is expected to create and maintain ownership of its 16 // respective sending channel. 17 package types