namespace ZB.MOM.WW.OtOpcUa.Commons.Messages.Mesh;
///
/// The local actor names the two mesh comm actors are spawned under. Not a wire contract:
/// nothing off-process addresses either actor by name.
///
///
///
/// This used to be a wire contract and no longer is. While the cross-mesh transport
/// was an Akka ClusterClient, central addressed a node by the literal path string
/// /user/node-communication and the far side resolved it — so the two processes had to
/// agree on a string neither could see the other spell. Both gRPC services now resolve
/// their comm actor through ActorRegistry (CentralCommunicationActorKey /
/// NodeCommunicationActorKey), which is type-checked, so the name below never crosses
/// a process boundary. The full /user/... path constants that carried the old contract
/// are deleted; what remains is a naming convention.
///
///
/// Still declared once, here, rather than as literals at each spawn site — a shared constant
/// costs nothing and keeps the name an operator sees in a log or an ActorSelection
/// attached to one declaration. The registry key, not this string, is what a mis-rename
/// would break, and that failure is a compile error rather than a silent drop.
///
///
/// MeshCommActorPathTests boots a real host and Identify-probes
/// /user/{name} on both nodes, which is what pins these values against the two
/// registration sites.
///
///
public static class MeshPaths
{
///
/// Actor name of the central-side comm actor — where an inbound deployment ack is handed
/// over, after CentralCommandService has resolved it by registry key.
///
public const string CentralCommunicationName = "central-communication";
///
/// Actor name of the node-side comm actor — where an inbound command is handed over, after
/// NodeCommandService has resolved it by registry key.
///
public const string NodeCommunicationName = "node-communication";
}