1414 ready /3 ,
1515 disconnected /3 ]).
1616
17- -record (data , {endpoint :: grpcbox_channel :endpoint (),
17+ -record (data , {name :: any (),
18+ endpoint :: grpcbox_channel :endpoint (),
1819 channel :: grpcbox_channel :t (),
1920 info :: #{authority := binary (),
2021 scheme := binary (),
@@ -41,8 +42,10 @@ stop(Pid, Reason) ->
4142
4243init ([Name , Channel , Endpoint , Encoding , StatsHandler ]) ->
4344 process_flag (trap_exit , true ),
45+
4446 gproc_pool :connect_worker (Channel , Name ),
45- {ok , disconnected , # data {conn = undefined ,
47+ {ok , disconnected , # data {name = Name ,
48+ conn = undefined ,
4649 info = info_map (Endpoint , Encoding , StatsHandler ),
4750 endpoint = Endpoint ,
4851 channel = Channel }}.
@@ -89,24 +92,24 @@ handle_event(_, _, _) ->
8992 keep_state_and_data .
9093
9194terminate (_Reason , _State , # data {conn = undefined ,
92- endpoint = Endpoint ,
95+ name = Name ,
9396 channel = Channel }) ->
94- gproc_pool :disconnect_worker (Channel , Endpoint ),
95- gproc_pool :remove_worker (Channel , Endpoint ),
97+ gproc_pool :disconnect_worker (Channel , Name ),
98+ gproc_pool :remove_worker (Channel , Name ),
9699 ok ;
97100terminate (normal , _State , # data {conn = Pid ,
98- endpoint = Endpoint ,
101+ name = Name ,
99102 channel = Channel }) ->
100103 h2_connection :stop (Pid ),
101- gproc_pool :disconnect_worker (Channel , Endpoint ),
102- gproc_pool :remove_worker (Channel , Endpoint ),
104+ gproc_pool :disconnect_worker (Channel , Name ),
105+ gproc_pool :remove_worker (Channel , Name ),
103106 ok ;
104107terminate (Reason , _State , # data {conn = Pid ,
105- endpoint = Endpoint ,
108+ name = Name ,
106109 channel = Channel }) ->
110+ gproc_pool :disconnect_worker (Channel , Name ),
111+ gproc_pool :remove_worker (Channel , Name ),
107112 exit (Pid , Reason ),
108- gproc_pool :disconnect_worker (Channel , Endpoint ),
109- gproc_pool :remove_worker (Channel , Endpoint ),
110113 ok .
111114
112115connect (Data = # data {conn = undefined ,
0 commit comments