The async client class.
class AsyncClientClass
Default constructor.
AsyncClientClass()
AsyncClientClass(Client &client, bool reconnect = true)
Params:
-
client
- The SSL client that working with the network interface. -
reconnect
- Optional The network reconnection option when the network lost connection.
AsyncClientClass(Client &client, network_config_data &net)
Params:
-
client
- The SSL client that working with the network interface. -
net
- The network config data can be obtained from the networking classes via the static function calledgetNetwork
.
AsyncClientClass(AsyncTCPConfig &tcpClientConfig, network_config_data &net)
Params:
-
tcpClientConfig
- TheAsyncTCPConfig
object. Seesrc/core/AsyncTCPConfig.h
-
net
- The network config data can be obtained from the networking classes via the static function calledgetNetwork
.
Set the external async result to use with the sync task.
If no async result was set (unset) for sync task, the internal async result will be used and shared usage for all sync tasks.
void setAsyncResult(AsyncResult &result)
Params:
result
- The AsyncResult to set.
Unset the external async result use with the sync task.
The internal async result will be used for sync task.
void unsetAsyncResult()
Get the network connection status.
bool networkStatus()
Returns:
bool
- Returns true if network is connected.
Get the network disconnection time.
unsigned long networkLastSeen()
Returns:
unsigned long
- The millisec of network successfully connection since device boot.
Return the current network type.
firebase_network_data_type getNetworkType()
Returns:
firebase_network_data_type
- Thefirebase_network_data_type
enums arefirebase_network_data_default_network
,firebase_network_data_generic_network
,firebase_network_data_ethernet_network
andfirebase_network_data_gsm_network
.
Stop and remove the async/sync task from the queue.
void stopAsync(bool all = false)
Params:
all
- The option to stop and remove all tasks. If false, only running task will be stop and removed from queue.
Stop and remove the specific async/sync task from the queue.
void stopAsync(const String &uid)
Params:
uid
- The task identifier of the task to stop and remove from the queue.
Get the number of async/sync tasks that stored in the queue.
size_t taskCount() const
Returns:
size_t
- The total tasks in the queue.
Get the last error information from async client.
FirebaseError lastError() const
Returns:
FirebaseError
- TheFirebaseError
object that contains the last error information.
Get the response etag.
String etag() const
Returns:
String
- The response etag header.
Set the etag header to the task (DEPRECATED).
The etag can be set via the functions that support etag.
void setEtag(const String &etag)
Params:
etag
- The ETag to set to the task.
Set the sync task's send timeout in seconds.
void setSyncSendTimeout(uint32_t timeoutSec)
Params:
timeoutSec
- The TCP write timeout in seconds.
Set the sync task's read timeout in seconds.
void setSyncReadTimeout(uint32_t timeoutSec)
Params:
timeoutSec
- The TCP read timeout in seconds.
Set the TCP session timeout in seconds.
void setSessionTimeout(uint32_t timeoutSec)
Params:
timeoutSec
- The TCP session timeout in seconds.
Filtering response payload for for Relatime Database SSE streaming.
This function is available since v1.2.1.
This is optional to allow specific events filtering.
The following event keywords are supported.
get
- To allow the http get response (first put event since stream connected).
put
- To allow the put event.
patch
- To allow the patch event.
keep-alive
- To allow the keep-alive event.
cancel
- To allow the cancel event.
auth_revoked
- To allow the auth_revoked event.
You can separate each keyword with comma or space.
To clear all prevousely set filter to allow all Stream events, use AsyncClientClass::setSSEFilters()
.
This will overwrite the value sets by RealtimeDatabase::setSSEFilters
.
// To all all tream events.
aClient.setSSEFilters("get,put,patch,keep-alive,cancel,auth_revoked");
// SSE streaming
Database.get(aClient, "/path/to/stream/data", cb, true);
void setSSEFilters(const String &filter = "")
Params:
filter
- The event keywords for filtering.
Set the network interface.
The SSL client set here should work for the type of network set.
void setNetwork(Client &client, network_config_data &net)
Params:
-
client
- The SSL client that working with this type of network interface. -
net
- The network config data can be obtained from the networking classes via the static function calledgetNetwork
.