инициализировать

Класс: matlab.net.http.io. ContentConsumer
Пакет: matlab.net.http.io

Подготовьте потребителя к новой полезной нагрузке HTTP

Синтаксис

OK = initialize(consumer)

Описание

OK = initialize(consumer) готовит ContentConsumer к использованию с новой полезной нагрузкой HTTP.

MATLAB® вызывает initialize после получения заголовка ResponseMessage, который может содержать полезную нагрузку, чтобы подготовить потребителя к той полезной нагрузке. Это не вызывается для сообщений, которые, как не ожидают, будут содержать полезную нагрузку, такую как те с явной Довольной Длиной 0, или в ошибочных случаях, где полный заголовок не был получен.

Метод delegateTo в потребителе делегата также вызывает initialize.

Если вы разделяете на подклассы ContentConsumer, то необходимо, по крайней мере, проверять свойство ContentType проверить, что ответ имеет тип, который вы готовы обработать. Можно заменить этот метод к, например:

  • Инициализируйте свои собственные свойства

  • Определите, хотите ли вы обработать полезную нагрузку

  • Обработайте полезную нагрузку, которая имеет Response.StatusCode кроме OK

Вам решать, ли выполнить какие-либо последующие инициализации в этом методе или задержать их до метода start.

Даже если initialize называется, MATLAB не может вызвать метод start потребителя, если сообщение не имеет никакой полезной нагрузки.

Реализация по умолчанию возвращает true, если Response.StatusCode является OK и false в противном случае. Подклассы, которые заменяют этот метод, должны вызвать этот метод суперкласса сначала и проверять возвращаемое значение, если они не хотят обработать сообщения с состоянием кроме OK. Подклассы, которые вызывают putData в этом классе, должны вызвать этот метод.

Потребительские подклассы должны быть готовы быть снова использованными для последующих сообщений. MATLAB вызывает initialize перед каждым сообщением и затем start для каждого сообщения, которое имеет непустую полезную нагрузку. Если MATLAB вызывает start, он не вызывает initialize, пока сообщение не закончилось, исключение было выдано, или прерывание произошло во время обработки сообщения. Все эти случаи обозначаются вызовом putData(uint8.empty).

Входные параметры

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

Потребитель содержимого, заданный как объект matlab.net.http.io.ContentConsumer.

Выходные аргументы

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

Укажите, принимает ли потребитель или отклоняет полезную нагрузку сообщения, возвращенного как true или false.

  • Если кодом статуса ResponseMessage является StatusCode.OK, то значением по умолчанию является true.

  • Если OK является true, то потребитель принял сообщение и обрабатывает полезную нагрузку, если таковые имеются. MATLAB затем вызывает метод start потребителя, когда первый байт полезной нагрузки прибывает, сопровождаемый одним или несколькими вызовами putData, передавая буфер данных по каждому вызову.

  • Если OK является false, то потребитель не хочет обрабатывать сообщение, в этом случае MATLAB обрабатывает полезную нагрузку, как будто никакой потребитель не был задан (который может означать преобразование по умолчанию полезной нагрузки к данным).

Если вы заменяете метод initialize и отклоняете сообщение, и вы хотите прервать получение сообщения вместо того, чтобы обработать его способом по умолчанию, затем выдать ошибку из этого метода вместо того, чтобы возвратить false.

Атрибуты

Accessprotected

Введенный в R2018a