Types
HTTP server stream data types. More...
Macros | |
#define | GOS_HS_STREAM_WRITE_ALL ((gos_hs_stream_ws_client_t)UINT32_MAX) |
Typedefs | |
typedef void * | gos_hs_stream_ws_client_t |
typedef bool(* | gos_hs_stream_ws_accept_callback_t) (void) |
Callback for a websocket stream wants to connect. More... | |
typedef void(* | gos_hs_stream_handler_t) (const char *stream_name, const gos_msgpack_object_t *in_data, gos_msgpack_context_t *out_context, void *arg) |
Handler to be invoked when a REST or Websocket clients reads/writes a stream. More... | |
Enumerations | |
enum | gos_hs_stream_permissions_t { GOS_HS_STREAM_PERMISSION_NONE = 0, GOS_HS_STREAM_PERMISSION_READ = (1 << 0), GOS_HS_STREAM_PERMISSION_WRITE = (1 << 1), GOS_HS_STREAM_PERMISSION_ALL = 0xFF } |
Detailed Description
HTTP server stream data types.
Macro Definition Documentation
◆ GOS_HS_STREAM_WRITE_ALL
#define GOS_HS_STREAM_WRITE_ALL ((gos_hs_stream_ws_client_t)UINT32_MAX) |
Write all connected websocket clients
This should only be used with gos_hs_stream_ws_write()
Typedef Documentation
◆ gos_hs_stream_handler_t
typedef void(* gos_hs_stream_handler_t) (const char *stream_name, const gos_msgpack_object_t *in_data, gos_msgpack_context_t *out_context, void *arg) |
Handler to be invoked when a REST or Websocket clients reads/writes a stream.
This handler is registered for a specific stream. It is invoked when either a REST or Websocket client wants to read or write the stream.
If the client is writing the stream then the in_data
will be non-null. In this case, the app should use the msgpack APIs to read the in_data
being written by the remote client.
If the client is reading the stream then the out_context
will be non-null. In this case, the app should use the msgpack APIs to write to the provided gos_msgpack_context_t. After all the data is written, the app must call gos_hs_stream_flush() to send the data to the client.
- Note
- This handler executes in the application thread context.
- Parameters
-
stream_name[in]
The name of the stream that is being read/written in_data[in]
If NOT NULL, this is the data being written from the client to the device. out_context[in]
If NOT NULL, this is a gos_msgpack_context_t context the app should use to write data to the client arg[in]
Argument that was given when the stream handler was registered
◆ gos_hs_stream_ws_accept_callback_t
typedef bool(* gos_hs_stream_ws_accept_callback_t) (void) |
Callback for a websocket stream wants to connect.
This is used to disallowed a websocket client from connecting.
- Note
- Executes in HTTP server thread context
- Returns
- true if the websocket client is ALLOWED connect, false to stop the websocket client from connecting
◆ gos_hs_stream_ws_client_t
typedef void* gos_hs_stream_ws_client_t |
Handle to connected websocket client
This is used to read or write a specific websocket client.
Enumeration Type Documentation
◆ gos_hs_stream_permissions_t
Stream permissions
This specifies the permissions a remote client has for a given stream This is used when registering a stream with gos_hs_stream_register()