摘要 |
Clients 40 and server 50 communicate by accessing message data in shared memory 22. The memory comprises mail-slots 32, i.e. predetermined subsets of memory allocated for particular data storage in aircrafts: airspeed, waypoints or flight plans are each allocated to a corresponding mail-slot. They are assigned predetermined constant addresses and also include reference lists 33 with routing information. Memory spaces 57, 58 comprising buffers 36 are each owned by a client 54, 56 and are associated to a mail slot 22. Buffers 36 are for data payload or message data and are allocated to available, request, and response buffer queues. Clients can only access their own memory spaces while servers can access any memory space. Message data is accessed via active access pointers 42, 52 without copying data at operating system level, e.g. by zero copying via atomic operations, to provide lock-free access. Provision of extra buffers contributes to prevent denial-of-service attacks. |