SOME/IP yığını, Android Arayüz Tanımlama Dili (AIDL) arayüzü aracılığıyla düşük düzeyli SOME/IP aktarım mantığını yönetir. Bu yığın, SOME/IP etkinlikleri ve Uzak Prosedür Çağrıları (RPC'ler) gönderir ve alır. Bu belgede aşağıdaki kavramlar açıklanmaktadır:
Referans uygulama: SDV, SOME/IP yığını için üretim dışı bir referans örnek uygulama sağlar.
Binder API:
ISomeIpStackarayüzü, bir SOME/IP yığını örneğiyle etkileşim kurma yöntemlerini tanımlar.SELinux: Referans yığını için örnek bir SELinux yapılandırması, bağlayıcı iletişimi ve ayrıntılı dosya sistemi erişimini etkinleştirir.
Bu yığın, SOME/IP kablo biçimini okurken yükü opak ikili blob'lar olarak bırakır ve yükü SOME/IP aracısına yönlendirir.
SOME/IP standardı, yığın veya yığın API katmanı tanımı sağlamaz. SDV, standardın bilinen tanımları içinde çalışan bir AIDL API sağlar ve mevcut yığınları uyarlamak için minimum düzeyde kodlama gerektirir.
Bu API, yığının farklı uygulamalarını seçmenize olanak tanır ve yığının sistemdeki diğer bileşenlerle entegrasyonunu kolaylaştırır.
Referans uygulama
SDV, SOME/IP yığını için üretim dışı bir referans örnek uygulaması sağlar ve açık kaynaklı COVESA vsomeip kitaplığının üzerinde ince bir sarmalayıcıdan oluşur. Sistem, referans yığını yalnızca sdv_core_cf ve sdv_core_arm64 hedeflerine dağıtır ve init.rc, CID=3 ile sanal makinede başlatır.
on property:dev.bootcomplete=1 && property:ro.sdv.vsock_local_cid=3
start sdv_someip_stack_agent
OEM tarafından tanımlanan yığın için üretim dağıtımı yapılandırmasını tanımlayın. Daha fazla bilgi için SOME/IP'yi SDV ile entegre etme başlıklı makaleyi inceleyin.
Yapılandırma
Referans yığını, vSomeIP kitaplığı için bir yapılandırma bildirir. Yapılandırma yapısının açıklaması için Yapılandırma Dosyası Yapısı'na bakın. Yapılandırma kapsamında, çoklu yayın adresi ve yığın tarafından kullanılan bağlantı noktası gibi SOME/IP SD parametrelerini belirtiriz.
Binder API
ISomeIpStack arayüzü, core_services/some_ip/aidl/google/sdv/someip içinde tanımlanır. ISomeIpStack arayüzü, SOME/IP yığını örneğiyle etkileşim kurma yöntemlerini tanımlar ve bu öğeler için temel nitelikler sağlar.
Hizmet kullanılabilirliği
register_availability_callbackHizmet kullanılabilirliği değişiklikleri için geri çağırma kaydeder.monitor_serviceYığına, belirli bir hizmetin kullanılabilirliğini izlemesi talimatını verir.unregister_availability_callbackKullanılabilirlik geri çağırmasını kaydını siler.on_sdv_service_availabilitySDV hizmetinin kullanılabilirliğinde değişiklik olduğunu gösterir.
Uzak prosedür çağrıları (RPC)
Aşağıdakilerle bir RPC isteği gönderebilirsiniz:
rpc_transactyanıt beklemek içinrpc_onewayyanıt beklememek için
RPC isteği işleme için:
register_rpc_request_callbackGelen RPC istekleri için geri arama kaydeder.unregister_rpc_request_callbackRPC isteği geri aramasını kaydını siler.
Etkinlik bildirimi
register_event_notification_callbackAbone olunan etkinlik bildirimleri için geri çağırma kaydeder.unregister_event_notification_callbackEtkinlik bildirimi geri çağırma işlevinin kaydını siler.on_sdv_topic_availabilitySDV konusu kullanılabilirliğinde değişiklik olduğunu gösterir.subscribeBir etkinlik grubundaki belirli bir etkinliğe abone olur.unsubscribeBelirli bir etkinliğin e-posta listesinden çıkmapublishBelirli bir yükle bir etkinlik yayınlar.
SELinux
device/google/sdv/sdv_core_base/sepolicy/samples/vendor/ klasörü, referans yığını için örnek bir SELinux yapılandırması içerir:
sdv_someip_stack_default.te,sdv_someip_stack_defaulttürünü tanımlar ve bunu özellikler ile bağlamlarla eşler.file_contextsikili dosyaları ve veri klasörlerini uygun bağlamlarla eşler.
Yapılandırma, yığın ile aracı arasında Binder iletişimini etkinleştirerek ağ kalitelerine erişime ve cihazın dosya sistemine ayrıntılı erişime olanak tanır.