matlab.net.http. Класс ProgressMonitor

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

Монитор прогресса для обмена сообщениями 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. Можно также использовать этот механизм, чтобы контролировать прогресс программно.

Конструкция

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 пуст.

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

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

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

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

Методы

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

Введенный в R2017b

Была ли эта тема полезной?