Web kancaları ve teslimat kayıtları
Bir işletmecinin, taşıdığı şeyi okuyamadan aracısının ne yaptığını bilmesi gerekir. O kısıt bütün gözlemlenebilirlik yüzeyini biçimlendirir: aşağıdaki her şey üstveridir ve mesaj içeriklerinin erişilebilir hâle geldiği hiçbir kip yoktur. Aracı onları açan hiçbir anahtar tutmuyor.
Olaylar
| Olay | Ne zaman tetiklenir |
|---|---|
mediation.granted |
Bir ajan aracılığa kabul edildi. |
mediation.denied |
Bir ajan reddedildi; kimlik bilgisi yok, geçersiz kimlik bilgisi ve doğrulayıcıya ulaşılamadı durumlarını ayırt eden bir sebeple. |
message.queued |
Bir zarf kabul edildi ve alıcısını bekliyor. |
message.delivered |
Kuyruktaki bir zarf alıcıya teslim edildi. |
delivery.failed |
Teslimat başarılı olmadı. |
resolution.failed |
Yönlendirme çözümlenemedi; zincir üstü arama başarısız oldu ve önbellekte bir değer yoktu. |
Bunlardan ikisi üzerinde durmaya değer
mediation.denied bir sebep taşır ve sebep, altyapıyı hükümden ayırır. "Doğrulayıcıya ulaşılamadı",
"kimlik bilginiz reddedildi" değildir. İkisini birbirine katlamak, bir bağımlılık çökmüşken bir
işletmeciyi bir ajanı ayıklamaya gönderirdi ve bozuku ihlalden ayıramayan bir sinyal, insanların
göz ardı etmeyi öğrendiği bir sinyaldir. Bkz.
kimlik bilgisiyle kapı tutulan aracılık.
resolution.failed sessizlik değil gerçek bir durumdur. Yönlendirme çözümlemesinin üç sonucu
vardır: zincir üstünde çözümlendi, önbellekten sunuldu ya da başarısız oldu. Bu olayı yalnızca üçüncüsü
tetikler: önbellekten gelen bir yanıt bir başarıdır ve taze diye yeniden damgalanmak yerine özgün
blok yüksekliği ve zaman damgasıyla bildirilir. Bkz.
zincire demirlenmiş yönlendirme çözümlemesi.
Teslimat kaydı
Aynı olaylar, itilmek yerine sorgulanabilir hâlde: alıcıya göre, aracılığa göre, önem derecesine göre, bir zaman aralığı üzerinde. Tepki vermek için web kancalarını, araştırmak için kaydı kullanın.
Alanları zamanlama, alıcı, aracılık, düzey ve mesaj tanımlayıcılarıdır. Gövdeler değil. Ekler değil. Konular değil. Karartılacak bir şey yok, çünkü tutulan bir şey yok.
Bu olaylara karşı tasarım yapmak
- Kuyruk derinliğinde değil,
delivery.failedveresolution.failedüzerinde uyarı verin. Boş olmayan bir kuyruk normaldir; bir arıza değildir. Bkz. kuyruk derinliği ve geri basınç. mediation.deniedsebeplerini ayrı sinyaller olarak ele alın. "Ulaşılamadı"daki bir artış sizin izleme probleminizdir; "geçersiz"deki bir artış bir politika ya da istemci problemidir.- Örüntülerden içerik çıkarsamayın. Boyutlar ve zamanlamalar göreceksiniz ve üzerlerine sezgiseller kurmak ayartıcıdır. Bu, bir düşmanın yapacağı çıkarsamanın aynısıdır, ki bir aracının görebildikleri ve göremedikleri sayfasının var olma sebebi tam olarak budur.
Bu yüzeyin tasarım hakkında kanıtladıkları
Bir gözlemlenebilirlik katmanı, bir mahremiyet iddiasının iyi bir denetimidir, çünkü işletmecinin isteseydi neyi açığa çıkarabileceğini gösterir. Burada bir işletmecinin görebileceği en fazla şey kimin bağlandığı, ne zaman, ne kadar büyük ve işe yarayıp yaramadığıdır.
Bu aynı anda hem gerçek bir mahremiyet özelliği hem gerçek bir açıklamadır. İçerikler erişilebilir değil. Kimin bağlandığı, ne zaman, ne kadar büyük ve işe yarayıp yaramadığı erişilebilir.
Erişim
Web kancaları ve teslimat kaydı, kimlik doğrulaması gereken işletmeci düzleminde yaşar:
curl -s -o /dev/null -w '%{http_code}\n' https://relay.solidus.network/v1/mediations
# 401
Açık konsol önizlemesi örnek veri gösterir ve bunu söyler: olayları örnekleyicidir.
Relay, Coordinate Mediation 2.0 ve Pickup 3.0 uygular; bağımsız bir DIDComm uygunluk paketi çalıştırılmamıştır, dolayısıyla iddia "uygular"dır, "uygundur" değil.