matlab.net.http.ProgressMonitor class

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

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

Описание

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

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

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

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

  • MATLAB устанавливает MaxCancelFcn , и Direction свойства, когда вы вызываете RequestMessage.send.

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

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

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

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

Конструкция

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

Свойства

развернуть все

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

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

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

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

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

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

Типы данных: логический

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

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

MATLAB устанавливает Max в начале каждого отправляют и получают операцию к ожидаемому количеству байтов, которые будут переданы, на основе поля заголовка Довольной Длины.

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

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

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

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

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

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

Методы

сделанныйУкажите на все завершенные передачи сообщения

Введенный в R2017b