Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend interface {
	// Read will read data from the bus and dump each message to the results
	// channel. This method should _not_ decode the message - that is left up
	// to the upstream user. The error channel _should_ be optional.
	//
	// Decoding should happen _outside_ the backend.
	Read(ctx context.Context, readOpts *opts.ReadOptions, resultsChan chan *records.ReadRecord, errorChan chan *records.ErrorRecord) error
	// Write will attempt to write the input messages as a batch (if the backend
	// supports batch writing). This call will block until success/error.
	//
	// Encoding should happen _outside_ the backend.
	//
	// NOTE: Key, headers and any other metadata is fetched from CLIOptions
	// (that are passed when instantiating the backend).
	Write(ctx context.Context, writeOpts *opts.WriteOptions, errorCh chan *records.ErrorRecord, messages ...*records.WriteRecord) error
	// Test performs a "test" to see if the connection to the backend is alive.
	// The test varies between backends (ie. in kafka, it might be just attempting
	// to connect to a broker, while with another backend, plumber might try to
	// put/get sample data).
	Test(ctx context.Context) error
	// Dynamic enables plumber to become a "dynamic replay destination".
	// This is a blocking call.
	Dynamic(ctx context.Context, dynamicOpts *opts.DynamicOptions, dynamicSvc dynamic.IDynamic) error
	// Relay will hook into a message bus as a consumer and relay all messages
	// to the relayCh; if an error channel is provided, any errors will be piped
	// to the channel as well. This method _usually_ blocks.
	Relay(ctx context.Context, relayOpts *opts.RelayOptions, relayCh chan interface{}, errorCh chan *records.ErrorRecord) error
	// DisplayMessage will parse a Read record and print (pretty) output to STDOUT
	DisplayMessage(cliOpts *opts.CLIOptions, msg *records.ReadRecord) error
	// DisplayError will parse an Error record and print (pretty) output to STDOUT
	DisplayError(msg *records.ErrorRecord) error
	// Close closes any connections the backend has open. Once this is ran, you
	// should create a new backend instance.
	Close(ctx context.Context) error
	// Name returns the name of the backend
	Name() string
}
    Backend is the interface that all backends implement; the interface is used for facilitating all CLI and server functionality in plumber. NOTE: Most backends do not support _some_ part of the interface - in those cases the methods will either return types.NotImplementedErr or types.UnsupportedFeatureErr.
      
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 
         
          
            kinesisfakes
            
            
          
           
      Code generated by counterfeiter. 
         | 
      Code generated by counterfeiter. | 
| 
         
          
            snsfakes
            
            
          
           
      Code generated by counterfeiter. 
         | 
      Code generated by counterfeiter. | 
| 
         
          
            sqsfakes
            
            
          
           
      Code generated by counterfeiter. 
         | 
      Code generated by counterfeiter. | 
| 
       Package batch is used for interacting with the Batch platform's API. 
         | 
      Package batch is used for interacting with the Batch platform's API. | 
| 
       Package kafka is the most complex backend as it has several different operating modes. 
         | 
      Package kafka is the most complex backend as it has several different operating modes. | 
| 
         
          
            mqttfakes
            
            
          
           
      Code generated by counterfeiter. 
         | 
      Code generated by counterfeiter. | 
| 
         
          
            stanfakes
            
            
          
           
      Code generated by counterfeiter. 
         | 
      Code generated by counterfeiter. | 
| 
         
          
            pulsarfakes
            
            
          
           
      Code generated by counterfeiter. 
         | 
      Code generated by counterfeiter. | 
| 
         
          
            rabbitfakes
            
            
          
           
      Code generated by counterfeiter. 
         | 
      Code generated by counterfeiter. | 
 Click to show internal directories. 
   Click to hide internal directories.