File tree Expand file tree Collapse file tree 3 files changed +30
-8
lines changed Expand file tree Collapse file tree 3 files changed +30
-8
lines changed Original file line number Diff line number Diff line change
1
+ use std:: time:: Duration ;
2
+
1
3
use clap:: Parser ;
2
4
use config:: { builder:: DefaultState , ConfigBuilder } ;
3
5
use libp2p:: Multiaddr ;
@@ -23,6 +25,10 @@ pub struct SignerCommand {
23
25
/// Aggregator endpoint URL.
24
26
#[ clap( long, env = "AGGREGATOR_ENDPOINT" ) ]
25
27
aggregator_endpoint : String ,
28
+
29
+ /// Signer registration repeater delay in milliseconds (defaults to 1 hour)
30
+ #[ clap( long, env = "SIGNER_REPEATER_DELAY" , default_value_t = 3_600 * 1_000 ) ]
31
+ signer_repeater_delay : u64 ,
26
32
}
27
33
28
34
impl SignerCommand {
@@ -32,8 +38,15 @@ impl SignerCommand {
32
38
let dial_to = self . dial_to . to_owned ( ) ;
33
39
let addr: Multiaddr = format ! ( "/ip4/0.0.0.0/tcp/{}" , self . listen_port) . parse ( ) ?;
34
40
let aggregator_endpoint = self . aggregator_endpoint . to_owned ( ) ;
35
-
36
- let mut relay = SignerRelay :: start ( & addr, & server_port, & aggregator_endpoint) . await ?;
41
+ let signer_repeater_delay = Duration :: from_millis ( self . signer_repeater_delay . to_owned ( ) ) ;
42
+
43
+ let mut relay = SignerRelay :: start (
44
+ & addr,
45
+ & server_port,
46
+ & aggregator_endpoint,
47
+ & signer_repeater_delay,
48
+ )
49
+ . await ?;
37
50
if let Some ( dial_to_address) = dial_to {
38
51
relay. dial_peer ( dial_to_address. clone ( ) ) ?;
39
52
}
Original file line number Diff line number Diff line change @@ -28,12 +28,15 @@ impl SignerRelay {
28
28
address : & Multiaddr ,
29
29
server_port : & u16 ,
30
30
aggregator_endpoint : & str ,
31
+ signer_repeater_delay : & Duration ,
31
32
) -> StdResult < Self > {
32
33
debug ! ( "SignerRelay: starting..." ) ;
33
34
let ( signature_tx, signature_rx) = unbounded_channel :: < RegisterSignatureMessage > ( ) ;
34
35
let ( signer_tx, signer_rx) = unbounded_channel :: < RegisterSignerMessage > ( ) ;
35
- let repeat_frequency = Duration :: from_secs ( 30 ) ;
36
- let signer_repeater = Arc :: new ( MessageRepeater :: new ( signer_tx. clone ( ) , repeat_frequency) ) ;
36
+ let signer_repeater = Arc :: new ( MessageRepeater :: new (
37
+ signer_tx. clone ( ) ,
38
+ signer_repeater_delay. to_owned ( ) ,
39
+ ) ) ;
37
40
let peer = Peer :: new ( address) . start ( ) . await ?;
38
41
let server = Self :: start_http_server (
39
42
server_port,
Original file line number Diff line number Diff line change 1
- use std:: sync:: Arc ;
1
+ use std:: { sync:: Arc , time :: Duration } ;
2
2
3
3
use libp2p:: { gossipsub, Multiaddr } ;
4
4
use mithril_common:: messages:: { RegisterSignatureMessage , RegisterSignerMessage } ;
@@ -35,9 +35,15 @@ async fn should_receive_registrations_from_signers_when_subscribed_to_pubsub() {
35
35
let addr: Multiaddr = "/ip4/0.0.0.0/tcp/0" . parse ( ) . unwrap ( ) ;
36
36
let server_port = 0 ;
37
37
let aggregator_endpoint = "http://0.0.0.0:1234" . to_string ( ) ;
38
- let mut signer_relay = SignerRelay :: start ( & addr, & server_port, & aggregator_endpoint)
39
- . await
40
- . expect ( "Relay start failed" ) ;
38
+ let signer_repeater_delay = Duration :: from_secs ( 100 ) ;
39
+ let mut signer_relay = SignerRelay :: start (
40
+ & addr,
41
+ & server_port,
42
+ & aggregator_endpoint,
43
+ & signer_repeater_delay,
44
+ )
45
+ . await
46
+ . expect ( "Relay start failed" ) ;
41
47
let relay_address = signer_relay. address ( ) ;
42
48
let relay_peer_address = signer_relay. peer_address ( ) . unwrap ( ) ;
43
49
info ! ( "Test: relay_address is '{relay_address:?}'" ) ;
You can’t perform that action at this time.
0 commit comments