API Reference
FXP
FXP.has_service_provider
— Functionhas_service_provider(client::Jedis.Client, service_name::String)
Checks if there is a provider for a given service
FXP.json_pop
— Functionjson_pop(client::Jedis.Client, session_id::String, service_name::String, whoami::Symbol; timeout::Float64, error_on_timeout::Bool=true)
Pops and deserializes JSON data from a Redis list, using a key derived from sessionid, servicename, and whoami
FXP.json_push
— Functionjson_push(client::Jedis.Client, session_id::String, service_name::String, whoami::Symbol; data...)
Pushes serialized JSON data into a Redis list, using a key derived from sessionid, servicename, and whoami
FXP.json_sprint
— Functionjson_sprint(data, args...; kw...)
Serializes data into a JSON string
FXP.negotiate_service
— Functionnegotiate_service(client::Jedis.Client, session_id::String, service_name::String)
Initializes service negotiation by cleaning up previous keys and publishing a request on a Redis channel
FXP.new_client_copy
— Functionnew_client_copy(client_in::Jedis.Client)
Creates a copy of a Jedis client with the same connection parameters.
FXP.raw_pop
— Functionraw_pop(client::Jedis.Client, session_id::String, service_name::String, whoami::Symbol; timeout::Float64, error_on_timeout::Bool=true)
Pops raw data from a Redis list, key determined by sessionid, servicename, and whoami
FXP.raw_push
— Functionraw_push(client::Jedis.Client, session_id::String, service_name::String, whoami::Symbol, raw_data::Any)
Pushes raw data into a Redis list, key determined by sessionid, servicename, and whoami
FXP.register_service
— Functionregister_service(client::Jedis.Client, service_name::String, service_function::Function; timeout::Float64=10.0)
Registers a service by subscribing to a Redis channel and invoking the service_function when a message is received
The service_function must have the following call signature:
service_function(client::Jedis.Client, session_id::String, service_name::String; timeout::Float64)