Architecture and trust boundaries · 3 Lessons
English

Open Agila: Architecture, Ada & V

Module 1 – Architecture and trust boundaries

Page 3 of 3 · About 15 minutes per lesson, including practice.

Use explicit results at a systems boundary

15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.

Agila_Ports returns Ok, Invalid_Handle, Permission_Denied, Full, Empty, Exhausted, or Invalid_Argument. A caller must handle each relevant result. The host C ABI maps these to documented integer codes. A full queue is expected backpressure, not proof of memory corruption.

Your experiment

Trace Send when the queue has four messages. Write a caller policy for Full: wait elsewhere, reject, or retry with a bound. Explain why an unbounded retry loop is unsuitable.

Practice and evidence

Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.

Language reference

Example code on Agila Forge ↗

Complete this lesson

Answer every check correctly to earn your lesson certificate. Feedback helps you review and try again.

Sign in · Save your progress and earn a certificate for this lesson.