P2p: add "private node" information in Connection_metadata.
Add private_node flag in Connection_metadata.t and update Node, Distributed_db, P2p and P2p_pool to propagate the information
This commit is contained in:
parent
65758d08ac
commit
4a16b3ef0b
@ -18,6 +18,7 @@ type 'peer_meta peer_meta_config = 'peer_meta P2p_pool.peer_meta_config = {
|
|||||||
type 'conn_meta conn_meta_config = 'conn_meta P2p_pool.conn_meta_config = {
|
type 'conn_meta conn_meta_config = 'conn_meta P2p_pool.conn_meta_config = {
|
||||||
conn_meta_encoding : 'conn_meta Data_encoding.t ;
|
conn_meta_encoding : 'conn_meta Data_encoding.t ;
|
||||||
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
||||||
|
private_node : 'conn_meta -> bool ;
|
||||||
}
|
}
|
||||||
|
|
||||||
type 'msg app_message_encoding = 'msg P2p_pool.encoding =
|
type 'msg app_message_encoding = 'msg P2p_pool.encoding =
|
||||||
|
@ -24,6 +24,7 @@ type 'peer_meta peer_meta_config = {
|
|||||||
type 'conn_meta conn_meta_config = {
|
type 'conn_meta conn_meta_config = {
|
||||||
conn_meta_encoding : 'conn_meta Data_encoding.t;
|
conn_meta_encoding : 'conn_meta Data_encoding.t;
|
||||||
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
||||||
|
private_node : 'conn_meta -> bool ;
|
||||||
}
|
}
|
||||||
|
|
||||||
type 'msg app_message_encoding = Encoding : {
|
type 'msg app_message_encoding = Encoding : {
|
||||||
|
@ -210,6 +210,7 @@ type 'msg message_config = {
|
|||||||
type 'conn_meta conn_meta_config = {
|
type 'conn_meta conn_meta_config = {
|
||||||
conn_meta_encoding : 'conn_meta Data_encoding.t ;
|
conn_meta_encoding : 'conn_meta Data_encoding.t ;
|
||||||
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
||||||
|
private_node : 'conn_meta -> bool ;
|
||||||
}
|
}
|
||||||
|
|
||||||
type ('msg, 'peer_meta, 'conn_meta) t = {
|
type ('msg, 'peer_meta, 'conn_meta) t = {
|
||||||
|
@ -134,6 +134,7 @@ type 'peer_meta peer_meta_config = {
|
|||||||
type 'conn_meta conn_meta_config = {
|
type 'conn_meta conn_meta_config = {
|
||||||
conn_meta_encoding : 'conn_meta Data_encoding.t ;
|
conn_meta_encoding : 'conn_meta Data_encoding.t ;
|
||||||
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
conn_meta_value : P2p_peer.Id.t -> 'conn_meta ;
|
||||||
|
private_node : 'conn_meta -> bool ;
|
||||||
}
|
}
|
||||||
|
|
||||||
type 'msg message_config = {
|
type 'msg message_config = {
|
||||||
|
@ -36,6 +36,7 @@ let peer_meta_config : metadata P2p_pool.peer_meta_config = {
|
|||||||
let conn_meta_config : metadata P2p_pool.conn_meta_config = {
|
let conn_meta_config : metadata P2p_pool.conn_meta_config = {
|
||||||
conn_meta_encoding = Data_encoding.empty ;
|
conn_meta_encoding = Data_encoding.empty ;
|
||||||
conn_meta_value = (fun _ -> ()) ;
|
conn_meta_value = (fun _ -> ()) ;
|
||||||
|
private_node = (fun _ -> false) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
let sync ch =
|
let sync ch =
|
||||||
|
@ -65,6 +65,7 @@ type t = {
|
|||||||
shutdown: unit -> unit Lwt.t ;
|
shutdown: unit -> unit Lwt.t ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let peer_metadata_cfg : _ P2p.peer_meta_config = {
|
let peer_metadata_cfg : _ P2p.peer_meta_config = {
|
||||||
peer_meta_encoding = Peer_metadata.encoding ;
|
peer_meta_encoding = Peer_metadata.encoding ;
|
||||||
peer_meta_initial = () ;
|
peer_meta_initial = () ;
|
||||||
@ -73,28 +74,32 @@ let peer_metadata_cfg : _ P2p.peer_meta_config = {
|
|||||||
|
|
||||||
let connection_metadata_cfg cfg : _ P2p.conn_meta_config = {
|
let connection_metadata_cfg cfg : _ P2p.conn_meta_config = {
|
||||||
conn_meta_encoding = Connection_metadata.encoding ;
|
conn_meta_encoding = Connection_metadata.encoding ;
|
||||||
|
private_node = (fun { private_node } -> private_node) ;
|
||||||
conn_meta_value = fun _ -> cfg;
|
conn_meta_value = fun _ -> cfg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let init_connection_metadata opt =
|
||||||
|
let open Connection_metadata in
|
||||||
|
match opt with
|
||||||
|
| None ->
|
||||||
|
{ disable_mempool = false ;
|
||||||
|
private_node = false }
|
||||||
|
|
||||||
|
| Some c ->
|
||||||
|
{ disable_mempool = c.P2p.disable_mempool ;
|
||||||
|
private_node = c.P2p.private_mode }
|
||||||
|
|
||||||
let init_p2p p2p_params =
|
let init_p2p p2p_params =
|
||||||
match p2p_params with
|
match p2p_params with
|
||||||
| None ->
|
| None ->
|
||||||
let conn_metadata_cfg =
|
let c_meta = init_connection_metadata None in
|
||||||
connection_metadata_cfg {
|
let conn_metadata_cfg = connection_metadata_cfg c_meta in
|
||||||
Connection_metadata.
|
|
||||||
disable_mempool = false ;
|
|
||||||
private_node = false ;
|
|
||||||
} in
|
|
||||||
lwt_log_notice "P2P layer is disabled" >>= fun () ->
|
lwt_log_notice "P2P layer is disabled" >>= fun () ->
|
||||||
return
|
return
|
||||||
(P2p.faked_network peer_metadata_cfg, conn_metadata_cfg)
|
(P2p.faked_network peer_metadata_cfg, conn_metadata_cfg)
|
||||||
| Some (config, limits) ->
|
| Some (config, limits) ->
|
||||||
let conn_metadata_cfg =
|
let c_meta = init_connection_metadata (Some config) in
|
||||||
connection_metadata_cfg {
|
let conn_metadata_cfg = connection_metadata_cfg c_meta in
|
||||||
Connection_metadata.
|
|
||||||
disable_mempool = config.P2p.disable_mempool ;
|
|
||||||
private_node = false ;
|
|
||||||
} in
|
|
||||||
lwt_log_notice "bootstraping chain..." >>= fun () ->
|
lwt_log_notice "bootstraping chain..." >>= fun () ->
|
||||||
P2p.create
|
P2p.create
|
||||||
~config ~limits
|
~config ~limits
|
||||||
|
Loading…
Reference in New Issue
Block a user