# NetConfig — fixture site `epic` (entry / fan-out site).
#
# DURABLE CHECKED-IN FIXTURE for nc-paths cross-site walking + route fan-out.
# Synthetic, PHI-free, ~deliberately small. Grammar matches lib/nc-parse.sh
# (protocol/process/destination top-level blocks; { PROTOCOL { PORT/ISSERVER } };
# DATAXLATE { ROUTE { ROUTE_DETAILS { DEST <name> } } }).
#
# CONFLICT RESOLVED (the v0.9.3 fixture-design bug): a destination BLOCK must
# never share a NAME with a LOCAL protocol in the SAME site. nc-paths.sh
# _xsite_down_targets (lib/nc-paths.sh:378) skips any DEST whose name is also a
# local protocol — so a colliding dest-block name SUPPRESSES the cross-site hop.
# Here every cross-site destination block is prefixed `XS_` (XS = cross-site)
# and no protocol uses that prefix. Local intra-site DEST targets are bare
# protocol names; cross-site DEST targets are the `XS_*` block names.
#
# Topology:
#   IB_ADT_epic (server :7001, multi-route inbound)
#     --> MUX_ADT_ancout   (intra)  ==> ancout/IB_ADT_muxS   (cross via XS_to_ancout)
#     --> MUX_ADT_codamx   (intra)  ==> codamx/IB_ADT_cmx    (cross via XS_to_codamx)

process recv_epic {
}
process route_epic {
}

protocol IB_ADT_epic {
  { PROCESSNAME recv_epic }
  { PROTOCOL {
      { TYPE tcpip }
      { ISSERVER 1 }
      { PORT 7001 }
  } }
  { DATAXLATE {
      { ROUTE {
          { ROUTE_DETAILS {
              { DEST MUX_ADT_ancout }
          } }
          { ROUTE_DETAILS {
              { DEST MUX_ADT_codamx }
          } }
      } }
  } }
}

protocol MUX_ADT_ancout {
  { PROCESSNAME route_epic }
  { PROTOCOL {
      { TYPE tcpip }
      { ISSERVER 0 }
      { PORT 62043 }
  } }
  { DATAXLATE {
      { ROUTE {
          { ROUTE_DETAILS {
              { DEST XS_to_ancout }
          } }
      } }
  } }
}

protocol MUX_ADT_codamx {
  { PROCESSNAME route_epic }
  { PROTOCOL {
      { TYPE tcpip }
      { ISSERVER 0 }
      { PORT 62044 }
  } }
  { DATAXLATE {
      { ROUTE {
          { ROUTE_DETAILS {
              { DEST XS_to_codamx }
          } }
      } }
  } }
}

destination XS_to_ancout {
  { SITE ancout }
  { THREAD IB_ADT_muxS }
  { PORT 62043 }
}

destination XS_to_codamx {
  { SITE codamx }
  { THREAD IB_ADT_cmx }
  { PORT 62044 }
}
