@@ -26,18 +26,21 @@ message StreamingMessage {
2626 oneof content {
2727
2828 // Worker initiates stream
29- StartStream start_stream = 20 ;
29+ StartStream start_stream = 20 ;
3030
3131 // Host sends capabilities/init data to worker
3232 WorkerInitRequest worker_init_request = 17 ;
3333 // Worker responds after initializing with its capabilities & status
3434 WorkerInitResponse worker_init_response = 16 ;
3535
36+ // Worker periodically sends empty heartbeat message to host
37+ WorkerHeartbeat worker_heartbeat = 15 ;
38+
3639 // Host sends terminate message to worker.
3740 // Worker terminates if it can, otherwise host terminates after a grace period
3841 WorkerTerminate worker_terminate = 14 ;
3942
40- // Host periodically sends status request to the worker
43+ // Add any worker relevant status to response
4144 WorkerStatusRequest worker_status_request = 12 ;
4245 WorkerStatusResponse worker_status_response = 13 ;
4346
@@ -46,25 +49,25 @@ message StreamingMessage {
4649
4750 // Worker requests a desired action (restart worker, reload function)
4851 WorkerActionResponse worker_action_response = 7 ;
49-
52+
5053 // Host sends required metadata to worker to load function
5154 FunctionLoadRequest function_load_request = 8 ;
5255 // Worker responds after loading with the load result
5356 FunctionLoadResponse function_load_response = 9 ;
54-
57+
5558 // Host requests a given invocation
5659 InvocationRequest invocation_request = 4 ;
5760
5861 // Worker responds to a given invocation
5962 InvocationResponse invocation_response = 5 ;
6063
61- // Host sends cancel message to attempt to cancel an invocation.
64+ // Host sends cancel message to attempt to cancel an invocation.
6265 // If an invocation is cancelled, host will receive an invocation response with status cancelled.
6366 InvocationCancel invocation_cancel = 21 ;
6467
6568 // Worker logs a message back to the host
6669 RpcLog rpc_log = 2 ;
67-
70+
6871 FunctionEnvironmentReloadRequest function_environment_reload_request = 25 ;
6972
7073 FunctionEnvironmentReloadResponse function_environment_reload_response = 26 ;
@@ -88,15 +91,15 @@ message StreamingMessage {
8891// Process.Start required info
8992// connection details
9093// protocol type
91- // protocol version
94+ // protocol version
9295
9396// Worker sends the host information identifying itself
9497message StartStream {
9598 // id of the worker
9699 string worker_id = 2 ;
97100}
98101
99- // Host requests the worker to initialize itself
102+ // Host requests the worker to initialize itself
100103message WorkerInitRequest {
101104 // version of the host sending init request
102105 string host_version = 1 ;
@@ -147,6 +150,11 @@ message StatusResult {
147150 repeated RpcLog logs = 3 ;
148151}
149152
153+ // TODO: investigate grpc heartbeat - don't limit to grpc implemention
154+
155+ // Message is empty by design - Will add more fields in future if needed
156+ message WorkerHeartbeat {}
157+
150158// Warning before killing the process after grace_period
151159// Worker self terminates ..no response on this
152160message WorkerTerminate {
@@ -177,25 +185,24 @@ message FileChangeEventRequest {
177185
178186// Indicates whether worker reloaded successfully or needs a restart
179187message WorkerActionResponse {
180- // indicates whether a restart is needed, or reload successfully
188+ // indicates whether a restart is needed, or reload succesfully
181189 enum Action {
182190 Restart = 0 ;
183191 Reload = 1 ;
184192 }
185-
193+
186194 // action for this response
187195 Action action = 1 ;
188196
189197 // text reason for the response
190198 string reason = 2 ;
191199}
192200
193- // Used by the host to determine worker health
194- message WorkerStatusRequest {
201+ // NOT USED
202+ message WorkerStatusRequest {
195203}
196204
197- // Worker responds with status message
198- // TODO: Add any worker relevant status to response
205+ // NOT USED
199206message WorkerStatusResponse {
200207}
201208
@@ -264,7 +271,7 @@ message RpcFunctionMetadata {
264271
265272 // base directory for the Function
266273 string directory = 1 ;
267-
274+
268275 // Script file specified
269276 string script_file = 2 ;
270277
@@ -485,7 +492,7 @@ message BindingInfo {
485492 DataType data_type = 4 ;
486493}
487494
488- // Used to send logs back to the Host
495+ // Used to send logs back to the Host
489496message RpcLog {
490497 // Matching ILogger semantics
491498 // https://github.com/aspnet/Logging/blob/9506ccc3f3491488fe88010ef8b9eb64594abf95/src/Microsoft.Extensions.Logging/Logger.cs
@@ -536,7 +543,7 @@ message RpcLog {
536543 map <string , TypedData > propertiesMap = 9 ;
537544}
538545
539- // Encapsulates an Exception
546+ // Encapsulates an Exception
540547message RpcException {
541548 // Source of the exception
542549 string source = 3 ;
@@ -598,7 +605,7 @@ message RpcHttpCookie {
598605// TODO - solidify this or remove it
599606message RpcHttp {
600607 string method = 1 ;
601- string url = 2 ;
608+ string url = 2 ;
602609 map <string ,string > headers = 3 ;
603610 TypedData body = 4 ;
604611 map <string ,string > params = 10 ;
0 commit comments