Loading net/include/net/driver.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ namespace net struct Driver final : public com::Runner { const ConnectionId SERVER_ID = 0; static inline std::string self_name() { return "net_driver"; } static inline std::string self_name() { return "driver"; } Driver(); ~Driver() override; Loading net/include/net/rpc_system.hpp +1 −13 Original line number Diff line number Diff line Loading @@ -27,19 +27,7 @@ namespace net const std::string& method_name, ConnectionId target, ReliabilityMode reliability, const std::vector<com::Reflection::ValuePtr>& params) { int written_bytes = 0; auto buffer = create_packet(context_item, method_name, params, written_bytes); std::span<const uint8_t> buffer_span(buffer.data(), written_bytes); if (target == BROADCAST_ID) { driver()->broadcast(buffer_span, reliability); return; } driver()->send(target, buffer_span, reliability); } const std::vector<com::Reflection::ValuePtr>& params); template<typename... Args> void call_remote( Loading net/src/rpc_system.cpp +20 −1 Original line number Diff line number Diff line Loading @@ -30,13 +30,32 @@ void RPCSystem::register_functions() }); } void RPCSystem::call_remote( com::ContextItem* context_item, const std::string& method_name, ConnectionId target, ReliabilityMode reliability, const std::vector<com::Reflection::ValuePtr>& params) { int written_bytes = 0; auto buffer = create_packet(context_item, method_name, params, written_bytes); std::span<const uint8_t> buffer_span(buffer.data(), written_bytes); if (target == BROADCAST_ID) { driver()->broadcast(buffer_span, reliability); return; } driver()->send(target, buffer_span, reliability); } void RPCSystem::process_packet(ConnectionId from, void* deserializer) { auto des = static_cast<Deserializer*>(deserializer); std::vector<std::string> context_item_path; des->container(context_item_path, MAX_PATH_DEPTH, [](auto& s, std::string& str) { des->container(context_item_path, MAX_PATH_DEPTH, [](auto& s, std::string& str) { s.text1b(str, MAX_STRING_LENGTH); }); if (context_item_path.empty()) Loading Loading
net/include/net/driver.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ namespace net struct Driver final : public com::Runner { const ConnectionId SERVER_ID = 0; static inline std::string self_name() { return "net_driver"; } static inline std::string self_name() { return "driver"; } Driver(); ~Driver() override; Loading
net/include/net/rpc_system.hpp +1 −13 Original line number Diff line number Diff line Loading @@ -27,19 +27,7 @@ namespace net const std::string& method_name, ConnectionId target, ReliabilityMode reliability, const std::vector<com::Reflection::ValuePtr>& params) { int written_bytes = 0; auto buffer = create_packet(context_item, method_name, params, written_bytes); std::span<const uint8_t> buffer_span(buffer.data(), written_bytes); if (target == BROADCAST_ID) { driver()->broadcast(buffer_span, reliability); return; } driver()->send(target, buffer_span, reliability); } const std::vector<com::Reflection::ValuePtr>& params); template<typename... Args> void call_remote( Loading
net/src/rpc_system.cpp +20 −1 Original line number Diff line number Diff line Loading @@ -30,13 +30,32 @@ void RPCSystem::register_functions() }); } void RPCSystem::call_remote( com::ContextItem* context_item, const std::string& method_name, ConnectionId target, ReliabilityMode reliability, const std::vector<com::Reflection::ValuePtr>& params) { int written_bytes = 0; auto buffer = create_packet(context_item, method_name, params, written_bytes); std::span<const uint8_t> buffer_span(buffer.data(), written_bytes); if (target == BROADCAST_ID) { driver()->broadcast(buffer_span, reliability); return; } driver()->send(target, buffer_span, reliability); } void RPCSystem::process_packet(ConnectionId from, void* deserializer) { auto des = static_cast<Deserializer*>(deserializer); std::vector<std::string> context_item_path; des->container(context_item_path, MAX_PATH_DEPTH, [](auto& s, std::string& str) { des->container(context_item_path, MAX_PATH_DEPTH, [](auto& s, std::string& str) { s.text1b(str, MAX_STRING_LENGTH); }); if (context_item_path.empty()) Loading