Skip to main content

Crate rumtk_core

Crate rumtk_core 

Source

Modules§

cache
cli
core
dependencies
hash
id
json
log
maths
net
scripting
search
strings
threading
types

Macros§

rumtk_async_sleep
Sleep for some duration of time in an async context. Meaning, we can be awaited.
rumtk_cache_fetch
Searches for item in global cache. If global cache lacks item, create item using factory function passed to this macro.
rumtk_cache_get
Retrieves the cached item in immutable mode.
rumtk_cache_get_mut
Retrieves the cached item in mutable mode. What this means is that the internal Spin Lock is set to write. Therefore, this macro will block until all read requests are satisfied. Any further read requests will be blocked until you finish making use of the item. Avoid using this macro often unless the cache usage is limited to safe interfaces. You are essentially bypassing the no globals ethos and thus these APIs should be used with care!!!!!!
rumtk_cache_push
Overrides contents in cache at key K. No checks are performed for the existence of the key in the cache. Be careful not to override necessary data.
rumtk_connect
This macro is a convenience macro that allows you to establish a connection to an endpoint. It creates and instance of [tcp::RUMClientHandle].
rumtk_create_server
Macro for creating a server instance.
rumtk_create_task
This macro creates an async body that calls the async closure and awaits it.
rumtk_create_task_args
Creates an instance of SafeTaskArgs with the arguments passed.
rumtk_deserialize
Deserialization macro which will take a JSON string representation and return an instance of the specified type.
rumtk_exec_task
Convenience macro for packaging the task components and launching the task in one line.
rumtk_generate_id
rumtk_get_ip_port
Convenience macro for obtaining the ip and port off a string with format ip:port.
rumtk_init_threads
First, let’s make sure we have tokio initialized at least once. The runtime created here will be saved to the global context so the next call to this macro will simply grab a reference to the previously initialized runtime.
rumtk_new_task_queue
rumtk_print_license_notice
Prints the mandatory GPL License Notice to terminal!
rumtk_python_exec
Execute the contents of a closure passed to this macro. This macro is an alias for [rumtk_core::scripting::python_utils::py_exec].
rumtk_python_exec_module
Load a Python module and execute contents.
rumtk_read_stdin
Reads STDIN and unescapes the incoming message. Return this unescaped message.
rumtk_resolve_task
This macro awaits a future.
rumtk_resolve_task_from_async
rumtk_serialize
Serialization macro which will take an object instance decorated with [Serialize] trait from serde and return the JSON string representation.
rumtk_sleep
Sleep a duration of time in a sync context, so no await can be call on the result.
rumtk_spawn_task
Puts task onto the runtime queue.
rumtk_start_server
Macro for starting the server. When a server is created, it does not start accepting clients right away. You need to call this macro to do that or call [tcp::RUMServerHandle::start] directly.
rumtk_wait_on_task
Using the initialized runtime, wait for the future to resolve in a thread blocking manner!
rumtk_write_stdout
Escapes a message and writes it to stdout via the print! macro.