exponenta event banner

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

Класс: 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