@@ -122,17 +122,7 @@ where {
122
122
let pending_events = Arc :: new ( EventQueue :: new ( ) ) ;
123
123
let ignored_peers = RwLock :: new ( HashSet :: new ( ) ) ;
124
124
125
- let lsps0_client_handler = LSPS0ClientHandler :: new (
126
- entropy_source. clone ( ) ,
127
- Arc :: clone ( & pending_messages) ,
128
- Arc :: clone ( & pending_events) ,
129
- ) ;
130
-
131
- let lsps0_service_handler = if service_config. is_some ( ) {
132
- Some ( LSPS0ServiceHandler :: new ( vec ! [ ] , Arc :: clone ( & pending_messages) ) )
133
- } else {
134
- None
135
- } ;
125
+ let mut supported_protocols = Vec :: new ( ) ;
136
126
137
127
let lsps2_client_handler = client_config. as_ref ( ) . and_then ( |config| {
138
128
config. lsps2_client_config . map ( |config| {
@@ -146,6 +136,11 @@ where {
146
136
} ) ;
147
137
let lsps2_service_handler = service_config. as_ref ( ) . and_then ( |config| {
148
138
config. lsps2_service_config . as_ref ( ) . map ( |config| {
139
+ if let Some ( number) =
140
+ <LSPS2ServiceHandler < CM > as ProtocolMessageHandler >:: PROTOCOL_NUMBER
141
+ {
142
+ supported_protocols. push ( number) ;
143
+ }
149
144
LSPS2ServiceHandler :: new (
150
145
Arc :: clone ( & pending_messages) ,
151
146
Arc :: clone ( & pending_events) ,
@@ -169,6 +164,11 @@ where {
169
164
} ) ;
170
165
171
166
let lsps1_service_handler = service_config. as_ref ( ) . and_then ( |config| {
167
+ if let Some ( number) =
168
+ <LSPS1ServiceHandler < ES > as ProtocolMessageHandler >:: PROTOCOL_NUMBER
169
+ {
170
+ supported_protocols. push ( number) ;
171
+ }
172
172
config. lsps1_service_config . as_ref ( ) . map ( |config| {
173
173
LSPS1ServiceHandler :: new (
174
174
entropy_source. clone ( ) ,
@@ -181,6 +181,18 @@ where {
181
181
} )
182
182
} ) ;
183
183
184
+ let lsps0_client_handler = LSPS0ClientHandler :: new (
185
+ entropy_source. clone ( ) ,
186
+ Arc :: clone ( & pending_messages) ,
187
+ Arc :: clone ( & pending_events) ,
188
+ ) ;
189
+
190
+ let lsps0_service_handler = if service_config. is_some ( ) {
191
+ Some ( LSPS0ServiceHandler :: new ( vec ! [ ] , Arc :: clone ( & pending_messages) ) )
192
+ } else {
193
+ None
194
+ } ;
195
+
184
196
Self {
185
197
pending_messages,
186
198
pending_events,
0 commit comments