roAssetFetcher
Este objeto contiene funciones para descargar archivos al pool. BrightSign habilita los protocolos http://, https://, ftp://, y file:// .
El equivalente en JavaScript es assetpoolfetcherassetpoolfetcher.
Creación de objetos: El objeto roAssetFetcher debe recibir una instancia de roAssetPool al crearse.
CreateObject("roAssetFetcher", pool As roAssetPool)Ejemplo
Pool = CreateObject("roAssetPool", "pool")
Fetcher = CreateObject("roAssetFetcher", Pool)ifAssetFetcher
GetFailureReason() As String
Devuelve una cadena de error si un método de roAssetFetcher ha fallado (esto normalmente se indica devolviendo False). La cadena de error puede ayudar a diagnosticar el fallo.
SetUserAndPassword(user As String, password As String) As Boolean
Establece las cadenas predeterminadas de usuario y contraseña que se utilizarán para todas las solicitudes de descarga que no estén marcadas de otro modo mediante los siguientes atributos: <auth inherit=”no”> o <auth user=”user” password =”password”>.
EnableUnsafeAuthentication(enable As Boolean) As Boolean
Admite autenticación HTTP básica si es Verdadero. La autenticación HTTP utiliza un protocolo inseguro, lo que podría permitir que otros determinen fácilmente la contraseña. El objeto roAssetFetcher seguirá prefiriendo el digest HTTP más seguro si es compatible con el servidor. Si este método es Falso (que es la configuración predeterminada), se negará a proporcionar contraseñas mediante autenticación HTTP básica y cualquier solicitud que requiera esta autenticación fallará.
EnableUnsafeProxyAuthentication(enable As Boolean) As Boolean
Admite autenticación HTTP básica frente a proxies si es Verdadero (que, a diferencia de EnableUnsafeAuthentication(), es la configuración predeterminada). La autenticación HTTP utiliza un protocolo inseguro, lo que podría permitir que otros determinen fácilmente la contraseña. Si este método es Falso, se negará a proporcionar contraseñas mediante autenticación HTTP básica y cualquier solicitud que requiera este tipo de autenticación fallará.
EnableEncodings(enable As Boolean) As Boolean
Habilita la compresión HTTP, que comunica al servidor que el sistema puede aceptar cualquier codificación que el objeto roAssetFetcher sea capaz de decodificar por sí mismo (este comportamiento está habilitado de forma predeterminada). Las codificaciones compatibles actualmente incluyen "deflate" y "gzip", que permiten la compresión transparente de las respuestas. Los clientes de la instancia roAssetFetcher solo ven los datos decodificados y desconocen la codificación que se está utilizando.
AsyncDownload(assets As roAssetCollection) As Boolean
Comienza a rellenar el pool de recursos utilizando los archivos enumerados en la instancia de roAssetCollection proporcionada. Los archivos que aún no estén en el pool se descargarán automáticamente. Se generan eventos durante el proceso de descarga para indicar si las descargas de archivos individuales se realizaron correctamente o fallaron; finalmente, se generará un único evento indicando si toda la colección de recursos se descargó correctamente o no. Consulte las entradas roAssetFetcherEvent y roAssetFetcherProgressEvent para obtener más detalles.
AsyncSuggestCache(spec As roAssetCollection) As Boolean
Comienza a descargar los archivos requeridos desde la instancia de roAssetCollection proporcionada y luego se desconecta poco después. Si el reproductor está configurado para utilizar un proxy configurado adecuadamente (ya sea de forma global o mediante el método SetProxy()), entonces el proxy continuará descargando los archivos, haciéndolos fácilmente disponibles para futuras llamadas a AsyncDownload().
Este método genera un mensaje roAssetFetcherEvent con el código de respuesta 202 ("Accepted") para indicar éxito. Otros errores se informarán como de costumbre. El código final del evento de todos los archivos completados siempre será -2 ("EVENT_ALL_FAILED") porque la descarga no se completa.
AsyncCancel() As Boolean
Cancela cualquier solicitud “Async” pendiente. Tenga en cuenta que, antes y durante esta llamada de método, los eventos asociados con una acción asíncrona pueden ponerse en cola. No se pondrán más eventos en cola una vez que esta llamada devuelva el control. Recomendamos recopilar cualquier evento pendiente antes de llamar a otros métodos “Async” en el mismo objeto para evitar confusiones.
EnablePeerVerification(verification As Boolean) As Boolean
Habilita la comprobación de certificados TLS/SSL. Este método está establecido en verdadero de forma predeterminada. Deshabilitar la verificación de pares le permite omitir la comprobación de certificados vencidos.
EnableHostVerification(verification As Boolean) As Boolean
Habilita la comprobación del certificado TLS/SSL para el nombre de host correcto. Este método está configurado en verdadero de forma predeterminada. Deshabilitar la verificación del host le permite aceptar un certificado enviado para un nombre de host incorrecto.
La verificación del par y la verificación del host son comprobaciones de seguridad importantes que evitan ataques de "man-in-the-middle". Estas funciones solo deben deshabilitarse después de una cuidadosa consideración de las implicaciones de seguridad.
SetCertificatesFile(filename As String) As Boolean
Configura un conjunto alternativo de certificados CA para la conexión. Este método es útil si los certificados de conexión están firmados por una CA que no se encuentra en la lista de confianza predeterminada (por ejemplo, si su organización utiliza una jerarquía de CA privada que no está firmada por una CA raíz bien conocida). Este método reemplaza la lista predeterminada, por lo que el archivo de certificados proporcionado debe contener todos los certificados CA aceptables requeridos para la conexión.
AddHeader(name As String, value As String) As Boolean
Especifica un encabezado que se pasará a las solicitudes HTTP realizadas por la instancia de roAssetFetcher. Una descarga determinada no incluirá el encabezado si tiene el atributo <headers inherit=”no”> en la especificación de sincronización.
SetHeaders(headers As roAssociativeArray) As Boolean
Especifica todos los encabezados que se pasarán a las solicitudes HTTP realizadas por la instancia de roAssetFetcher. Este método elimina cualquier encabezado configurado previamente. Una descarga determinada no incluirá los encabezados si tiene el atributo <headers inherit=”no”> en la especificación de sincronización.
SetProxy(proxy As String) As Boolean
Establece el nombre o la dirección del servidor proxy que utilizará la instancia de roAssetFetcher. La cadena del proxy debe tener el formato "http://user:password@hostname:port". Puede contener hasta cuatro caracteres "*"; cada carácter "*" puede utilizarse para reemplazar un octeto de la dirección IP actual. Por ejemplo, si la dirección IP es actualmente 192.168.1.2 y el proxy está configurado en "proxy-*-*", el reproductor intentará utilizar un proxy llamado "proxy-192.168".
SetProxyBypass(hostnames As Array) As Boolean
Exime a los hosts especificados de la configuración del proxy. El arreglo proporcionado debe estar compuesto por uno o más nombres de host. La instancia de roAssetFetcher intentará llegar a los hosts especificados directamente en lugar de utilizar el proxy especificado con el método SetProxy() . Por ejemplo, el nombre de host "http://example.com " eximiría a "http://example.com ", "http://example.com:80 " y "http://www.example.com " de la configuración del proxy.
SetFileProgressIntervalSeconds(interval As Integer) As Boolean
Especifica el intervalo (en segundos) entre eventos de progreso cuando se descarga un archivo individual. Configurar el intervalo en -1 deshabilita todos los eventos de progreso. Configurar el intervalo en 0 especifica que los eventos deben generarse con la mayor frecuencia posible, aunque esto ralentizará el proceso de transferencia. Si el intervalo está configurado en 0 o en cualquier entero positivo, los eventos siempre se generarán al inicio y al final de la descarga del archivo independientemente del tiempo transcurrido. El intervalo predeterminado es de 300 segundos.
SetFileRetryCount(count As Integer) As Boolean
Especifica el número máximo de veces que se reintentará la descarga de cada archivo antes de pasar a la siguiente descarga de archivo. El número de reintentos predeterminado es cinco.
SetRelativeLinkPrefix(prefix As String) As Boolean
Especifica un prefijo que se añadirá al inicio de los enlaces relativos en la especificación de sincronización. Normalmente, este método se utiliza para hacer que los URI file:/// sean independientes de la unidad, pero también puede utilizarse para reducir el tamaño de la especificación de sincronización si todos los archivos están almacenados en el mismo lugar. Los enlaces no relativos no se ven afectados por este método.
BindToInterface(interface As Integer) As Boolean
Garantiza que la solicitud HTTP salga a través de la interfaz de red especificada (0 para Ethernet o 1 para WiFi). El comportamiento predeterminado (que puede especificarse pasando -1) es enviar solicitudes utilizando la interfaz de red más apropiada, lo que puede depender de la métrica de enrutamiento configurada mediante el objeto roNetworkConfiguration. Si ambas interfaces están en la misma red de capa 2, es posible que este método no funcione como se espera debido al modelo weak-host de Linux.
SetMaximumReceiveBytesPerSecond(bytes_per_second as Double) As Boolean
Limita la velocidad a la que se realizan las descargas mediante la instancia de roAssetFetcher . La velocidad de datos de origen no está bajo el control directo del reproductor BrightSign, pero las velocidades de descarga deberían promediar por debajo del valor especificado con el tiempo.
Este método devuelve verdadero en caso de éxito y falso en caso de fallo. En caso de fallo, el método GetFailureReason() puede proporcionar más información.
SetMinimumTransferRate(bytes_per_second As Integer, period_in_seconds As Integer) As Boolean
Establece la velocidad mínima de transferencia para cada descarga de archivo. Una transferencia se cancelará si la velocidad cae por debajo de bytes_per_second cuando se promedia durante periodo_en_segundos. Tenga en cuenta que si la transferencia es a través de Internet, es posible que no desee configurar periodo_en_segundos en un número pequeño en caso de que los problemas de red causen caídas temporales en el rendimiento. Para transferencias de archivos grandes y un límite pequeño de bytes_per_second , puede ser apropiado un promedio de quince minutos o más.
ifMessagePort
SetPort(port As roMessagePort)
Publica mensajes de tipo roAssetFetcherEvent y roAssetFetcherProgressEvent en el puerto de mensajes adjunto.
ifUserData
SetUserData(user_data As Object)
Establece los datos del usuario que se devolverán cuando se generen eventos.
GetUserData() As Object
Devuelve los datos del usuario que se establecieron previamente mediante SetUserData() . Devolverá No válido si no se han establecido datos.