المراجع: https://github.com/TheThingsNetwork/lorawan-stack/issues/2047
القيم التي أرجعها NS للتعدادات داخل الحقل mac_settings
غير متسقة. يُرجع البعض بالنسبة لبعض NS قيمًا أولية ، وبالنسبة للآخرين ، يتم إرجاع تمثيل سلسلة.
mac_settings.rx1_delay.value
// request
{
"end_device":{
"mac_settings":{
"rx1_delay":{
"value":5 // or 'RX_DELAY_5'
}
}
},
"field_mask":{
"paths":[
"mac_settings.rx1_delay.value",
]
}
}
// response
{
...
"mac_settings":{
"rx1_delay":{
"value":5
},
}
}
// Note, regardless of what you send as the value for mac_settings.rx1_delay.value you always get the raw enum value.
mac_settings.ping_slot_periodicity.value
// request
{
"end_device":{
"mac_settings":{
"ping_slot_periodicity":{
"value": 1 // or 'PING_EVERY_2S'
}
}
},
"field_mask":{
"paths":[
"mac_settings.ping_slot_periodicity.value"
]
}
}
// response
{
"mac_settings":{
"ping_slot_periodicity":{
"value":"PING_EVERY_2S"
}
}
}
// Again, regardless of what you send you always get the string representation of the value.
قيم غير متسقة لحقول التعداد mac_settings
يجب إرجاع جميع القيم بنفس التنسيق (خام / سلسلة)
الإصدار 3.7.0-rc2
أعتقد أولاً أن علينا الاتفاق على الشكل. إذن فالأمر يتعلق بتعديل https://github.com/TheThingsNetwork/lorawan-stack/blob/master/api/lorawan.proto و https://github.com/TheThingsNetwork/lorawan-stack/blob/master/pkg /ttnpb/lorawan.go
نعم ، لكن أحتاج إلى مدخلات من rvolosatovsjohanstokkinghtdvisser
ما المدخلات المطلوبة منا ( @ rvolosatovs johanstokkinghtdvisser )؟ هل تفتقد هذه المشكلة إلى التصنيف discussion
؟
FTR ، أعتقد أنه يعتمد على الحقول التي نتحدث عنها ، ولكن بالنسبة لأشياء MAC الخاصة بـ LoRaWAN ، أعتقد أنه يجب علينا استخدام الرقم فقط ، نظرًا لأن ذلك يتوافق مع المواصفات (دورية فتحة Ping PING_EVERY_2S
ليست كذلك المحددة في المواصفات ، ولكن قيمة 1
هي)
هذا للأسف ليس شيئًا يمكننا تغييره فقط ، لأنه ينتهك التزامنا بالتوافق مع واجهة برمجة التطبيقات ، لذلك هذا بالتأكيد ليس شيئًا لشهر مارس.
توجد حاليًا طرق متعددة لتقديم التعداد. على سبيل المثال ، يمكن عرض MACVersion
كـ "MAC_V1_0_2"
، 3
(كلاهما متوافقان مع jsonpb) أو "1.0.2"
(مع TTN's stringer ، غير متوافق). في الماضي ارتكبنا خطأ استخدام الثالث ( "1.0.2"
) عند عرض JSON. لم يكن علينا فعل ذلك ، لكن لا يمكننا تغيير ذلك بعد الآن دون كسر واجهة برمجة التطبيقات الخاصة بنا.
لكي نكون متوافقين قدر الإمكان ، نقبل جميع النماذج في رسائل الطلب ، ولكن ما نعيده لا يمكن تغييره بسهولة بعد الآن.
في المستقبل (باستخدام goproto v2 API) ، ربما يمكننا إضافة دعم لملحق في رأس Accept
، على غرار الطريقة التي يقوم بها Github بهذا. يمكن بعد ذلك استخدام هذا الامتداد لإخبار الخادم بكيفية عرض التعدادات (على سبيل المثال الحقول الصفرية).
مغلق لأننا لن نصلح هذا
لا أعتقد أننا يجب أن نرفض على الفور هذا باعتباره wontfix. دعنا نبقيها في التراكم ونرى ما إذا كان بإمكاننا إصلاحها في المستقبل.
واحد رائع لـ V4
التعليق الأكثر فائدة
واحد رائع لـ V4