跳转到内容

Ada 编程/库/System.RPC

来自维基教科书,开放的书籍,开放的世界

Ada. Time-tested, safe and secure.
Ada. 经时间考验,安全可靠。

此语言功能从 Ada 95 开始提供。

System.RPC 是自 Ada 95 以来 预定义语言环境 的一个单元。

--                     Standard Ada library specification
--   Copyright (c) 2003-2018 Maxim Reznik <[email protected]>
--   Copyright (c) 2004-2016 AXE Consultants
--   Copyright (c) 2004, 2005, 2006 Ada-Europe
--   Copyright (c) 2000 The MITRE Corporation, Inc.
--   Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc.
--   SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual
-- -------------------------------------------------------------------------

with Ada.Streams; --  see 13.13.1

package System.RPC is

   type Partition_Id is range 0 .. implementation_defined;

   Communication_Error : exception;

   type Params_Stream_Type (Initial_Size : Ada.Streams.Stream_Element_Count) is
     new Ada.Streams.Root_Stream_Type with private;

   procedure Read (Stream : in out Params_Stream_Type;
                   Item   :    out Ada.Streams.Stream_Element_Array;
                   Last   :    out Ada.Streams.Stream_Element_Offset);

   procedure Write (Stream : in out Params_Stream_Type;
                    Item   : in     Ada.Streams.Stream_Element_Array);

   --   Synchronous call

   procedure Do_RPC (Partition : in Partition_Id;
                     Params    : access Params_Stream_Type;
                     Result    : access Params_Stream_Type);

   --   Asynchronous call

   procedure Do_APC (Partition : in Partition_Id;
                     Params    : access Params_Stream_Type);

   --   The handler for incoming RPCs

   type RPC_Receiver is access procedure (Params : access Params_Stream_Type;
                                          Result : access Params_Stream_Type);

   procedure Establish_RPC_Receiver (Partition : in Partition_Id;
                                     Receiver  : in RPC_Receiver);

private

   pragma Import (Ada, Params_Stream_Type);

end System.RPC;

另请参见

[编辑 | 编辑源代码]

维基教科书

[编辑 | 编辑源代码]

外部示例

[编辑源代码]

Ada 参考手册

[编辑 | 编辑源代码]

开源实现

[编辑 | 编辑源代码]

FSF GNAT

华夏公益教科书