Ngăn xếp truyền tải SOME/IP quản lý giao thức truyền SOME/IP cấp thấp và logic mạng thông qua giao diện Ngôn ngữ định nghĩa giao diện Android (AIDL) (ISomeIpStack). Ngăn xếp này gửi và nhận các sự kiện SOME/IP và lệnh gọi thủ tục từ xa (RPC). Các đối tác có thể tích hợp các chế độ triển khai ngăn xếp SOME/IP tuỳ chỉnh thông qua ISomeIpStack hoặc sử dụng chế độ triển khai tham chiếu đi kèm được xây dựng trên thư viện COVESA vsomeip nguồn mở. Trang này mô tả các khái niệm sau:
Triển khai tham chiếu: SDV cung cấp một cách triển khai mẫu tham chiếu không phải sản xuất cho ngăn xếp SOME/IP.
API Binder: Giao diện
ISomeIpStackxác định các phương thức để tương tác với một thực thể ngăn xếp SOME/IP.SELinux: Cấu hình SELinux mẫu cho ngăn xếp tham chiếu cho phép giao tiếp trình liên kết và quyền truy cập thật chi tiết vào hệ thống tệp.
Mặc dù ngăn xếp này đọc định dạng truyền dẫn SOME/IP, nhưng nó vẫn giữ nguyên tải trọng dưới dạng các blob nhị phân không rõ ràng và chuyển tiếp tải trọng đến trình môi giới SOME/IP.
Tiêu chuẩn SOME/IP không đưa ra định nghĩa về ngăn xếp hoặc lớp API ngăn xếp. SDV cung cấp một API AIDL hoạt động trong các định nghĩa quen thuộc của tiêu chuẩn và yêu cầu một lượng mã tối thiểu để điều chỉnh các ngăn xếp hiện có.
API này cho phép bạn chọn các cách triển khai khác nhau của ngăn xếp và đơn giản hoá việc tích hợp ngăn xếp với các thành phần khác trong hệ thống.
Triển khai tham chiếu
SDV cung cấp một phương thức triển khai mẫu tham chiếu không dành cho sản xuất cho ngăn xếp SOME/IP và bao gồm một trình bao bọc mỏng trên thư viện COVESA vsomeip nguồn mở. Hệ thống chỉ triển khai ngăn xếp tham chiếu cho các mục tiêu sdv_core_cf và sdv_core_arm64, đồng thời init.rc sẽ khởi động ngăn xếp này trên VM bằng CID=3.
on property:dev.bootcomplete=1 && property:ro.sdv.vsock_local_cid=3
start sdv_someip_stack_agent
Xác định cấu hình triển khai sản xuất cho ngăn xếp do OEM xác định. Để tìm hiểu thêm, hãy xem bài viết Tích hợp SOME/IP với SDV.
Cấu hình
Ngăn xếp tham chiếu khai báo một cấu hình cho thư viện vSomeIP. Hãy xem phần Cấu trúc tệp cấu hình để biết nội dung mô tả về cấu trúc cấu hình. Trong quá trình định cấu hình, tệp cấu hình sẽ chỉ định các tham số SOME/IP SD, chẳng hạn như địa chỉ truyền tin đa hướng và cổng mà ngăn xếp sử dụng.
Binder API
Giao diện ISomeIpStack được khai báo trong core_services/some_ip/aidl/google/sdv/someip. Giao diện ISomeIpStack xác định các phương thức để tương tác với một thực thể ngăn xếp SOME/IP và cung cấp các đặc điểm thiết yếu cho những mục này.
Tình trạng cung cấp dịch vụ
register_availability_callbackĐăng ký một lệnh gọi lại cho các thay đổi về trạng thái sẵn có của dịch vụ.monitor_serviceHướng dẫn ngăn xếp theo dõi khả năng cung cấp của một dịch vụ cụ thể.unregister_availability_callbackHuỷ đăng ký lệnh gọi lại về trạng thái sẵn sàng.on_sdv_service_availabilityCho biết sự thay đổi về phạm vi cung cấp dịch vụ SDV.
Lệnh gọi quy trình từ xa (RPC)
Bạn có thể gửi yêu cầu RPC bằng cách:
rpc_transactđể chờ phản hồirpc_onewayđể không chờ phản hồi
Để xử lý yêu cầu RPC:
register_rpc_request_callbackĐăng ký một lệnh gọi lại cho các yêu cầu RPC đến.unregister_rpc_request_callbackHuỷ đăng ký lệnh gọi lại yêu cầu RPC.
Thông báo sự kiện
register_event_notification_callbackĐăng ký một lệnh gọi lại cho các thông báo về sự kiện đã đăng ký.unregister_event_notification_callbackHuỷ đăng ký lệnh gọi lại thông báo sự kiện.on_sdv_topic_availabilityCho biết sự thay đổi về phạm vi cung cấp chủ đề SDV.subscribeĐăng ký nhận một sự kiện cụ thể trong một nhóm sự kiện.unsubscribeHuỷ đăng ký nhận thông báo về một sự kiện cụ thể.publishXuất bản một sự kiện với một tải trọng nhất định.
SELinux
Thư mục device/google/sdv/sdv_core_base/sepolicy/samples/vendor/ chứa một cấu hình SELinux mẫu cho ngăn xếp tham chiếu:
sdv_someip_stack_default.texác định loạisdv_someip_stack_defaultvà ánh xạ loại này với các thuộc tính và bối cảnh.file_contextsliên kết các thư mục nhị phân và dữ liệu với các ngữ cảnh thích hợp.
Cấu hình này cho phép giao tiếp Binder giữa ngăn xếp và trình môi giới, cho phép truy cập vào các chất lượng mạng và quyền truy cập chi tiết vào hệ thống tệp của thiết bị.