diff options
author | Andrea Catania <info@andreacatania.com> | 2020-02-12 11:51:50 +0100 |
---|---|---|
committer | Andrea Catania <info@andreacatania.com> | 2020-02-12 13:36:47 +0100 |
commit | eb07e87981d55fac8299b6db55fb5c29e0bfa49b (patch) | |
tree | ee7950df756bfdcdd6b4942751ddf100eb5d442c /modules/gdnative/pluginscript/pluginscript_instance.h | |
parent | 70dd7f4e1ae890534692067797c42337c45d3daf (diff) | |
download | redot-engine-eb07e87981d55fac8299b6db55fb5c29e0bfa49b.tar.gz |
Optmized data sent during RPC and RSet calls.
- Now is sent the method ID rather the full function name.
- The passed IDs (Node and Method) are compressed so to use less possible space.
- The variant (INT and BOOL) is now encoded and compressed so to use much less data.
- Optimized RPCMode retrieval for GDScript functions.
- Added checksum to assert the methods are the same across peers.
This work has been kindly sponsored by IMVU.
Diffstat (limited to 'modules/gdnative/pluginscript/pluginscript_instance.h')
-rw-r--r-- | modules/gdnative/pluginscript/pluginscript_instance.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/gdnative/pluginscript/pluginscript_instance.h b/modules/gdnative/pluginscript/pluginscript_instance.h index dc1229a44d..154bebd72a 100644 --- a/modules/gdnative/pluginscript/pluginscript_instance.h +++ b/modules/gdnative/pluginscript/pluginscript_instance.h @@ -76,7 +76,16 @@ public: void set_path(const String &p_path); + virtual Vector<ScriptNetData> get_rpc_methods() const; + virtual uint16_t get_rpc_method_id(const StringName &p_method) const; + virtual StringName get_rpc_method(uint16_t p_id) const; + virtual MultiplayerAPI::RPCMode get_rpc_mode_by_id(uint16_t p_id) const; virtual MultiplayerAPI::RPCMode get_rpc_mode(const StringName &p_method) const; + + virtual Vector<ScriptNetData> get_rset_properties() const; + virtual uint16_t get_rset_property_id(const StringName &p_variable) const; + virtual StringName get_rset_property(uint16_t p_id) const; + virtual MultiplayerAPI::RPCMode get_rset_mode_by_id(uint16_t p_id) const; virtual MultiplayerAPI::RPCMode get_rset_mode(const StringName &p_variable) const; virtual void refcount_incremented(); |