@@ -1950,3 +1950,60 @@ async fn tproxy_sends_single_open_extended_mining_channel_in_aggregated_mode() {
19501950
19511951 shutdown_all ! ( pool, tproxy) ;
19521952}
1953+
1954+ // This test verifies whether we can spawn multiple tproxy in the
1955+ // same process.
1956+ //
1957+ // More info here: https://github.com/stratum-mining/sv2-apps/issues/430
1958+ #[ tokio:: test]
1959+ async fn multiple_tproxy_sessions ( ) {
1960+ start_tracing ( ) ;
1961+ let ( _tp, tp_addr) = start_template_provider ( None , DifficultyLevel :: High ) ;
1962+ let ( pool, pool_addr, _) = start_pool ( sv2_tp_config ( tp_addr) , vec ! [ ] , vec ! [ ] , false ) . await ;
1963+
1964+ let ( pool_translator_sniffer_1, pool_translator_sniffer_addr_1) =
1965+ start_sniffer ( "0" , pool_addr, false , vec ! [ ] , None ) ;
1966+ let ( tproxy_1, _, _) = start_sv2_translator (
1967+ & [ pool_translator_sniffer_addr_1] ,
1968+ true ,
1969+ vec ! [ ] ,
1970+ vec ! [ ] ,
1971+ None ,
1972+ false ,
1973+ )
1974+ . await ;
1975+
1976+ let ( pool_translator_sniffer_2, pool_translator_sniffer_addr_2) =
1977+ start_sniffer ( "0" , pool_addr, false , vec ! [ ] , None ) ;
1978+ let ( tproxy_2, _, _) = start_sv2_translator (
1979+ & [ pool_translator_sniffer_addr_2] ,
1980+ true ,
1981+ vec ! [ ] ,
1982+ vec ! [ ] ,
1983+ None ,
1984+ false ,
1985+ )
1986+ . await ;
1987+
1988+ pool_translator_sniffer_1
1989+ . wait_for_message_type ( MessageDirection :: ToUpstream , MESSAGE_TYPE_SETUP_CONNECTION )
1990+ . await ;
1991+ pool_translator_sniffer_1
1992+ . wait_for_message_type (
1993+ MessageDirection :: ToDownstream ,
1994+ MESSAGE_TYPE_SETUP_CONNECTION_SUCCESS ,
1995+ )
1996+ . await ;
1997+
1998+ pool_translator_sniffer_2
1999+ . wait_for_message_type ( MessageDirection :: ToUpstream , MESSAGE_TYPE_SETUP_CONNECTION )
2000+ . await ;
2001+ pool_translator_sniffer_2
2002+ . wait_for_message_type (
2003+ MessageDirection :: ToDownstream ,
2004+ MESSAGE_TYPE_SETUP_CONNECTION_SUCCESS ,
2005+ )
2006+ . await ;
2007+
2008+ shutdown_all ! ( pool, tproxy_1, tproxy_2) ;
2009+ }
0 commit comments