@@ -17,64 +17,65 @@ static std::atomic<envoy_stream_t> current_stream_handle_{0};
17
17
18
18
envoy_stream_t init_stream (envoy_engine_t ) { return current_stream_handle_++; }
19
19
20
- envoy_status_t start_stream (envoy_stream_t stream, envoy_http_callbacks callbacks ,
21
- bool explicit_flow_control) {
20
+ envoy_status_t start_stream (envoy_engine_t engine, envoy_stream_t stream ,
21
+ envoy_http_callbacks callbacks, bool explicit_flow_control) {
22
22
return Envoy::EngineHandle::runOnEngineDispatcher (
23
- 1 /* engine */ , [stream, callbacks, explicit_flow_control](auto & engine) -> void {
23
+ engine, [stream, callbacks, explicit_flow_control](auto & engine) -> void {
24
24
engine.httpClient ().startStream (stream, callbacks, explicit_flow_control);
25
25
});
26
26
}
27
27
28
- envoy_status_t send_headers (envoy_stream_t stream, envoy_headers headers, bool end_stream) {
28
+ envoy_status_t send_headers (envoy_engine_t engine, envoy_stream_t stream, envoy_headers headers,
29
+ bool end_stream) {
29
30
return Envoy::EngineHandle::runOnEngineDispatcher (
30
- 1 /* engine */ , ([stream, headers, end_stream](auto & engine) -> void {
31
+ engine, ([stream, headers, end_stream](auto & engine) -> void {
31
32
engine.httpClient ().sendHeaders (stream, headers, end_stream);
32
33
}));
33
34
}
34
35
35
- envoy_status_t read_data (envoy_stream_t stream, size_t bytes_to_read) {
36
+ envoy_status_t read_data (envoy_engine_t engine, envoy_stream_t stream, size_t bytes_to_read) {
36
37
return Envoy::EngineHandle::runOnEngineDispatcher (
37
- 1 /* engine */ , [stream, bytes_to_read](auto & engine) -> void {
38
+ engine, [stream, bytes_to_read](auto & engine) -> void {
38
39
engine.httpClient ().readData (stream, bytes_to_read);
39
40
});
40
41
}
41
42
42
- envoy_status_t send_data (envoy_stream_t stream, envoy_data data, bool end_stream) {
43
+ envoy_status_t send_data (envoy_engine_t engine, envoy_stream_t stream, envoy_data data,
44
+ bool end_stream) {
43
45
return Envoy::EngineHandle::runOnEngineDispatcher (
44
- 1 /* engine */ , [stream, data, end_stream](auto & engine) -> void {
46
+ engine, [stream, data, end_stream](auto & engine) -> void {
45
47
engine.httpClient ().sendData (stream, data, end_stream);
46
48
});
47
49
}
48
50
49
51
// TODO: implement.
50
- envoy_status_t send_metadata (envoy_stream_t , envoy_headers) { return ENVOY_FAILURE; }
52
+ envoy_status_t send_metadata (envoy_engine_t , envoy_stream_t , envoy_headers) {
53
+ return ENVOY_FAILURE;
54
+ }
51
55
52
- envoy_status_t send_trailers (envoy_stream_t stream, envoy_headers trailers) {
56
+ envoy_status_t send_trailers (envoy_engine_t engine, envoy_stream_t stream, envoy_headers trailers) {
53
57
return Envoy::EngineHandle::runOnEngineDispatcher (
54
- 1 /* engine */ , [stream, trailers](auto & engine) -> void {
58
+ engine, [stream, trailers](auto & engine) -> void {
55
59
engine.httpClient ().sendTrailers (stream, trailers);
56
60
});
57
61
}
58
62
59
- envoy_status_t reset_stream (envoy_stream_t stream) {
63
+ envoy_status_t reset_stream (envoy_engine_t engine, envoy_stream_t stream) {
60
64
return Envoy::EngineHandle::runOnEngineDispatcher (
61
- 1 /* engine */ , [stream](auto & engine) -> void { engine.httpClient ().cancelStream (stream); });
65
+ engine, [stream](auto & engine) -> void { engine.httpClient ().cancelStream (stream); });
62
66
}
63
67
64
- envoy_status_t set_preferred_network (envoy_network_t network) {
68
+ envoy_status_t set_preferred_network (envoy_engine_t engine, envoy_network_t network) {
65
69
envoy_netconf_t configuration_key = Envoy::Network::Configurator::setPreferredNetwork (network);
66
- Envoy::EngineHandle::runOnEngineDispatcher (
67
- 1 /* engine */ , [configuration_key](auto & engine) -> void {
68
- engine.networkConfigurator ().refreshDns (configuration_key);
69
- });
70
+ Envoy::EngineHandle::runOnEngineDispatcher (engine, [configuration_key](auto & engine) -> void {
71
+ engine.networkConfigurator ().refreshDns (configuration_key);
72
+ });
70
73
// TODO(snowp): Should this return failure ever?
71
74
return ENVOY_SUCCESS;
72
75
}
73
76
74
77
envoy_status_t record_counter_inc (envoy_engine_t e, const char * elements, envoy_stats_tags tags,
75
78
uint64_t count) {
76
- // TODO: use specific engine once multiple engine support is in place.
77
- // https://github.com/envoyproxy/envoy-mobile/issues/332
78
79
return Envoy::EngineHandle::runOnEngineDispatcher (
79
80
e, [name = std::string (elements), tags, count](auto & engine) -> void {
80
81
engine.recordCounterInc (name, tags, count);
@@ -83,8 +84,6 @@ envoy_status_t record_counter_inc(envoy_engine_t e, const char* elements, envoy_
83
84
84
85
envoy_status_t record_gauge_set (envoy_engine_t e, const char * elements, envoy_stats_tags tags,
85
86
uint64_t value) {
86
- // TODO: use specific engine once multiple engine support is in place.
87
- // https://github.com/envoyproxy/envoy-mobile/issues/332
88
87
return Envoy::EngineHandle::runOnEngineDispatcher (
89
88
e, [name = std::string (elements), tags, value](auto & engine) -> void {
90
89
engine.recordGaugeSet (name, tags, value);
@@ -93,8 +92,6 @@ envoy_status_t record_gauge_set(envoy_engine_t e, const char* elements, envoy_st
93
92
94
93
envoy_status_t record_gauge_add (envoy_engine_t e, const char * elements, envoy_stats_tags tags,
95
94
uint64_t amount) {
96
- // TODO: use specific engine once multiple engine support is in place.
97
- // https://github.com/envoyproxy/envoy-mobile/issues/332
98
95
return Envoy::EngineHandle::runOnEngineDispatcher (
99
96
e, [name = std::string (elements), tags, amount](auto & engine) -> void {
100
97
engine.recordGaugeAdd (name, tags, amount);
@@ -103,8 +100,6 @@ envoy_status_t record_gauge_add(envoy_engine_t e, const char* elements, envoy_st
103
100
104
101
envoy_status_t record_gauge_sub (envoy_engine_t e, const char * elements, envoy_stats_tags tags,
105
102
uint64_t amount) {
106
- // TODO: use specific engine once multiple engine support is in place.
107
- // https://github.com/envoyproxy/envoy-mobile/issues/332
108
103
return Envoy::EngineHandle::runOnEngineDispatcher (
109
104
e, [name = std::string (elements), tags, amount](auto & engine) -> void {
110
105
engine.recordGaugeSub (name, tags, amount);
@@ -113,8 +108,6 @@ envoy_status_t record_gauge_sub(envoy_engine_t e, const char* elements, envoy_st
113
108
114
109
envoy_status_t record_histogram_value (envoy_engine_t e, const char * elements, envoy_stats_tags tags,
115
110
uint64_t value, envoy_histogram_stat_unit_t unit_measure) {
116
- // TODO: use specific engine once multiple engine support is in place.
117
- // https://github.com/envoyproxy/envoy-mobile/issues/332
118
111
return Envoy::EngineHandle::runOnEngineDispatcher (
119
112
e, [name = std::string (elements), tags, value, unit_measure](auto & engine) -> void {
120
113
engine.recordHistogramValue (name, tags, value, unit_measure);
0 commit comments