88)
99
1010type AmqpQEReceiverBuilder struct {
11- receiver * AmqpQEClientCommon
12- MessageCount int
11+ receiver * AmqpQEClientCommon
12+ MessageCount int
1313}
1414
1515func NewReceiverBuilder (name string , impl AmqpQEClientImpl , data framework.ContextData , url string ) * AmqpQEReceiverBuilder {
@@ -38,6 +38,25 @@ func (a *AmqpQEReceiverBuilder) Messages(count int) *AmqpQEReceiverBuilder {
3838 return a
3939}
4040
41+ func (a * AmqpQEReceiverBuilder ) addSpecificImplementationOptions (cBuilder * framework.ContainerBuilder ) {
42+ switch a .receiver .Implementation {
43+ // URL
44+ case MultipleReceiversPython :
45+ {
46+ cBuilder .AddArgs ("--address" , a .receiver .Url )
47+ cBuilder .AddArgs ("--connections" , "100" ) //total connections
48+ cBuilder .AddArgs ("--links" , "500" ) //total links per connection
49+ }
50+ default :
51+ {
52+ cBuilder .AddArgs ("--broker-url" , a .receiver .Url )
53+ cBuilder .AddArgs ("--count" , strconv .Itoa (a .MessageCount ))
54+ cBuilder .AddArgs ("--timeout" , strconv .Itoa (a .receiver .Timeout ))
55+ cBuilder .AddArgs ("--log-msgs" , "json" )
56+ }
57+ }
58+ }
59+
4160func (a * AmqpQEReceiverBuilder ) Build () (* AmqpQEClientCommon , error ) {
4261 // Preparing Pod, Container (commands and args) and etc
4362 podBuilder := framework .NewPodBuilder (a .receiver .Name , a .receiver .Context .Namespace )
@@ -50,21 +69,7 @@ func (a *AmqpQEReceiverBuilder) Build() (*AmqpQEClientCommon, error) {
5069 cBuilder := framework .NewContainerBuilder (a .receiver .Name , QEClientImageMap [a .receiver .Implementation ].Image )
5170 cBuilder .WithCommands (QEClientImageMap [a .receiver .Implementation ].CommandReceiver )
5271
53- //
54- // Adds args (may vary from one implementation to another)
55- //
56-
57- // URL
58- cBuilder .AddArgs ("--broker-url" , a .receiver .Url )
59-
60- // Message count
61- cBuilder .AddArgs ("--count" , strconv .Itoa (a .MessageCount ))
62-
63- // Timeout
64- cBuilder .AddArgs ("--timeout" , strconv .Itoa (a .receiver .Timeout ))
65-
66- // Static options
67- cBuilder .AddArgs ("--log-msgs" , "json" )
72+ a .addSpecificImplementationOptions (cBuilder )
6873
6974 // Retrieving container and adding to pod
7075 c := cBuilder .Build ()
0 commit comments