matlab.net.http.ProgressMonitor class

Пакет: matlab.net.http
Суперклассы: handle

Монитор прогресса для обмена HTTP-сообщениями

Описание

Используйте ProgressMonitor класс для реализации монитора прогресса для сообщения запроса HTTP. Монитор прогресса прослушивает изменения в свойствах этого класса, чтобы реализовать отображение или обновление по вашему выбору.

Чтобы реализовать монитор прогресса, создайте подкласс этого класса. Затем создайте HTTPOptions объект, задайте этот подкласс как ProgressMonitorFcn свойство и установите UseProgressMonitor свойство к true.

Запрос HTTP начинается при вызове RequestMessage.send способ. Процесс может включать несколько сообщений в обоих направлениях в случае перенаправления и аутентификации. MATLAB® вызывает done метод, когда все переводы были завершены.

Во время передачи:

  • MATLAB устанавливает Max, CancelFcn, и Direction свойства при вызове RequestMessage.send.

  • MATLAB устанавливает Value свойство неоднократно, когда тело сообщения запроса отправляется, чтобы указать количество переданных байтов.

  • При получении ResponseMessage начинается, MATLAB устанавливает Direction на Response и снова устанавливает Value неоднократно.

  • Чтобы отменить перевод в любое время, вызовите CancelFcn функция. Это действие аналогично прерыванию send функция в Командном окне.

Вы можете отобразить графический индикатор хода выполнения или другое указание прогресса после Direction изменения в Response. Для каждого последующего Value, обновите индикатор до текущей Value. Можно также использовать этот механизм для программного мониторинга прогресса.

The matlab.net.http.ProgressMonitor класс является handle класс.

Создание

obj = matlab.net.http.ProgressMonitor(Name,Value) создает монитор прогресса с дополнительными свойствами, заданными одним или несколькими аргументами пары "имя-значение". Name - имя свойства и Value - соответствующее значение. Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN. Неопределенным свойствам присваиваются значения по умолчанию.

Свойства

расширить все

Секунды на первый вызов и максимальный интервал между вызовами, заданные как double.

Interval количество времени в секундах после начала передачи перед первой установкой Value свойство. Interval - предлагаемое максимальное количество времени между настройками Value, независимо от прогресса. Если общее время передачи данных меньше Interval секунд, затем Value не задан. Если данные не были переданы в Interval секунд с момента последней настройки Value, затем Value может быть снова задано то же значение. Таким образом, ваш ProgressMonitor объект может отменить перевод (путем вызова CancelFcn) даже если нет прогресса.

The Interval значение является предлагаемым значением. Нет гарантии, что MATLAB устанавливает Value в пределах Interval секунд, если прогресса не было.

Интервал по умолчанию является двумя секундами. Чтобы задать другое значение, задайте Interval в вашем конструкторе. Минимальный интервал между последовательными настройками Value при отсутствии прогресса 0,1 секунды. Однако, если Value изменения, это может быть задано чаще, чем этот интервал.

После настройки Value первый раз задержка в установке отсутствует Value для последующих сообщений в том же обмене.

Монитор используется как true или false. MATLAB устанавливает это свойство, чтобы указать, использует ли оно это ProgressMonitor объект во время передачи. InUse препятствует повторному использованию этого объекта для нескольких переносов за раз.

Типы данных: logical

Функция для вызова отмены передачи, заданная как указатель на функцию. MATLAB устанавливает CancelFcn в функцию, которую вы ProgressMonitor должен вызвать вызов, чтобы отменить перевод. Вызов этой функции имеет тот же эффект, что и прерывание передачи в Командном окне.

Максимальная длина передачи, заданная как uint64. Если максимальная длина не известна, Max является []. Max - максимальное значение для отображаемых индикаторов хода выполнения.

MATLAB устанавливает Max в начале каждой операции отправки и приема ожидаемому количеству байтов, подлежащих передаче, на основе поля заголовка Content-Length.

Если сообщение не содержит поля Content-Length, Max является []. В этом случае вы не можете определить долю выполненного переноса. Однако можно по-прежнему контролировать изменения в Value свойство.

Направление передачи, заданное как matlab.net.http.MessageType объект. MATLAB устанавливает Direction чтобы указать, контролируется ли прогресс для сообщения запроса или ответного сообщения. Если передача не происходит, то Direction пуст.

Количество переданных байтов, заданное как uint64. MATLAB устанавливает Value неоднократно к общему количеству байтов, переданных для текущего сообщения. Однако он задерживает настройку этого свойства в первый раз при обмене как минимум до Interval с момента запуска сообщения прошло несколько секунд.

Реализуйте set.Value метод для этого свойства, чтобы контролировать прогресс передачи. Можно также реализовать возможность отмены переноса из монитора прогресса в set.Value способ.

MATLAB может задать Value опустошить в конце данной передачи, указать, что передача в текущем направлении завершена. MATLAB всегда устанавливает Value опустеть по завершении всех переводов перед вызовом done способ.

Вы не можете управлять частотой, с которой MATLAB обновляет Value свойство. Однако MATLAB может задать Value не реже одного раза в Interval секунд, даже если прогресса нет. Это поведение позволяет вам вызвать CancelFcn если передача не прогрессирует. Value может быть нулем, если ни один байт не был передан для Interval секунд с момента начала передачи.

Методы

расширить все

Введенный в R2016b