set_prms_limit
Para limitar la cantidad de parámetros del mensaje que el servidor devuelve para cada unidad en la sesión actual, utilice el método core/set_prms_limit.
El método es útil para las unidades con una gran cantidad de parámetros del mensaje, por ejemplo, unidades con etiquetas BLE. Con un límite, el servidor devuelve solo los parámetros más recientes en lugar de toda la lista, por lo que la respuesta es mucho más pequeña.
El método core/set_prms_limit no está disponible en Wialon Local.
Endpoint
svc=core/set_prms_limit¶ms={
"prms_limit": <uint>
}
Parámetros
La solicitud debe contener el siguiente parámetro:
| Parámetro | Descripción |
|---|---|
prms_limit |
Cantidad máxima de parámetros del mensaje que se devuelven para cada unidad:
|
El límite se aplica a todas las unidades de la sesión y solo a los parámetros del mensaje. No afecta a otras sesiones, ni siquiera a las que reciben datos de las mismas unidades. No se aplica a los recursos, aunque el flag de los grupos de geocercas tiene el mismo valor que el flag de los parámetros del mensaje.
El método solo guarda el límite. No agrega unidades a la sesión ni devuelve sus datos. Para obtener los parámetros del mensaje con el nuevo límite, envíe la solicitud core/update_data_flags con el flag de los parámetros del mensaje en el modo 1. Para obtener más información sobre los datos devueltos, consulte Lista limitada de parámetros.
Para cambiar el límite, vuelva a enviar la solicitud core/set_prms_limit con un valor nuevo. El formato de los nuevos eventos cambia de inmediato. Para obtener la lista de parámetros con el nuevo límite, haga lo siguiente:
- Si el nuevo límite es un número positivo, envíe la solicitud
core/update_data_flagscon el flag de los parámetros del mensaje en el modo 1. - Si el nuevo límite es
0, primero elimine el flag de los parámetros del mensaje de la sesión (modo 2) y luego vuelva a agregarlo (modo 1). Si la unidad ya tiene este flag, agregarlo en el modo 1 sin eliminarlo antes no devuelve nada.
Respuesta
Si la solicitud se completa correctamente, la respuesta se devuelve con el siguiente formato:
{
"prms_limit": <uint> /* Límite guardado. */
}
Si la solicitud falla, se devuelve un código de error. En la mayoría de los casos, se mantiene el límite anterior. Sin embargo, el error 6 también puede devolverse después de que se guarde el nuevo límite, si el servidor no logra formar la respuesta. En este caso, vuelva a enviar la solicitud para asegurarse de que se haya establecido el límite necesario.
Códigos de error
| Código de error | Descripción |
|---|---|
| 1 | Sesión no válida. |
| 4 | Falta el parámetro prms_limit o no es un número entero. Si el valor es negativo o supera el máximo, la respuesta también contiene "reason": "WRONG_PRMS_LIMIT". |
| 6 | No se pudo guardar el límite. |
Ejemplo
En este ejemplo, la sesión obtiene como máximo 100 de los parámetros del mensaje más recientes de una unidad en lugar de la lista completa. Para ello, primero establezca el límite y luego agregue a la sesión el flag de los parámetros del mensaje para la unidad.
Limite la cantidad de parámetros del mensaje a 100:
svc=core/set_prms_limit¶ms={"prms_limit":100}
Respuesta:
{
"prms_limit": 100
}
Luego solicite los parámetros del mensaje de una unidad:
svc=core/update_data_flags¶ms={"spec":[{"type":"id","data":28877572,"flags":1048576,"mode":1}]}
Respuesta:
[
{
"i": 28877572,
"d": {
"prms": {
"engine_temp": {
"v": 87,
"ct": 1790541264,
"at": 1790541264
},
...
},
"prms_total": 2450
},
"f": 1048576
}
]