Summary
Update udp_facade to return i_protocol_client and i_protocol_server instead of protocol-specific i_udp_client and i_udp_server interfaces.
Part of #577
Problem
Currently, udp_facade returns protocol-specific interfaces:
create_client() returns std::shared_ptr<interfaces::i_udp_client>
create_server() returns std::shared_ptr<interfaces::i_udp_server>
This prevents moving protocol-specific interfaces to internal, blocking the EPIC goal of reducing public header count.
Solution
Follow the pattern established in tcp_facade.h:
-
Update udp_facade.h includes:
- Remove:
#include "kcenon/network/interfaces/i_udp_client.h"
- Remove:
#include "kcenon/network/interfaces/i_udp_server.h"
- Add:
#include "kcenon/network/interfaces/i_protocol_client.h"
- Add:
#include "kcenon/network/interfaces/i_protocol_server.h"
-
Update return types:
create_client() → std::shared_ptr<interfaces::i_protocol_client>
create_server() → std::shared_ptr<interfaces::i_protocol_server>
-
Update udp_facade.cpp implementation:
- Ensure
messaging_udp_client implements i_protocol_client
- Ensure
messaging_udp_server implements i_protocol_server
-
Update documentation to reflect new return types
Acceptance Criteria
References
Summary
Update
udp_facadeto returni_protocol_clientandi_protocol_serverinstead of protocol-specifici_udp_clientandi_udp_serverinterfaces.Part of #577
Problem
Currently,
udp_facadereturns protocol-specific interfaces:create_client()returnsstd::shared_ptr<interfaces::i_udp_client>create_server()returnsstd::shared_ptr<interfaces::i_udp_server>This prevents moving protocol-specific interfaces to internal, blocking the EPIC goal of reducing public header count.
Solution
Follow the pattern established in
tcp_facade.h:Update
udp_facade.hincludes:#include "kcenon/network/interfaces/i_udp_client.h"#include "kcenon/network/interfaces/i_udp_server.h"#include "kcenon/network/interfaces/i_protocol_client.h"#include "kcenon/network/interfaces/i_protocol_server.h"Update return types:
create_client()→std::shared_ptr<interfaces::i_protocol_client>create_server()→std::shared_ptr<interfaces::i_protocol_server>Update
udp_facade.cppimplementation:messaging_udp_clientimplementsi_protocol_clientmessaging_udp_serverimplementsi_protocol_serverUpdate documentation to reflect new return types
Acceptance Criteria
udp_facade.hincludesi_protocol_client.handi_protocol_server.hcreate_client()returnsi_protocol_clientpointercreate_server()returnsi_protocol_serverpointerReferences
tcp_facade.h(lines 180-201)