====== IMC Overview ====== ===== Purpose ===== IMC is the layer between MOSH application behavior and the underlying transport or routing implementation. It exists so that MOSH does not need to talk directly to a specific radio, protocol, or link implementation. ===== What IMC Does ===== IMC provides: * a carrier abstraction for message movement * a boundary between application behavior and network behavior * a way for MOSH to work across different underlying communication systems ===== Why IMC Exists ===== Without IMC, MOSH logic would need to know too much about: * specific transports * specific routing protocols * per-link limitations * message-delivery details IMC allows MOSH to remain application-focused while delegating message transport to a carrier implementation. ===== Main Concepts ===== * ''Carrier'': the object responsible for moving messages between nodes or subsystems * ''MTRP Carrier'': a carrier implementation backed by the MTRP routing layer * ''Application Boundary'': the point where MOSH stops describing intent and the carrier begins handling delivery ===== Next Pages ===== * [[imc:carrier|Carrier Model]] * [[imc:mtrp_carrier|MTRP Carrier]] * [[guide:architecture_map|Architecture Map]]