Класс: matlab.net.http. iO . MultipartConsumer
Пакет: matlab.net.http. iO
Процесс следующий буфер данных для MultipartConsumer
[длина, остановитесь] = putData (потребитель, данные)
накапливает буферы [length,stop] = putData(consumer,data) data, пока целая часть многослойного сообщения не была собрана. Это затем использует поле Content-Type в заголовке части, чтобы найти соответствующего делегата ContentConsumer, который может обработать тот тип, устанавливает свойство Header делегата на заголовок части, и затем вызывает initialize и start в том делегате. Из этого следует, что с одним или несколькими вызовами putData, передающими в полезной нагрузке части, и затем, вызывает putData(uint8.empty), чтобы указать на конец полезной нагрузки.
После итогового вызова putData делегата этот метод создает ResponseMessage, содержащий заголовок части и Body, скопированного с Response.Body в делегате. (Что Body может или не может содержать данные, в зависимости от того, что делает делегат.) Это добавляет, что новый ResponseMessage к массиву объектов ResponseMessage в свойстве Response.Body.Data этого потребителя, который, когда конец сообщения был достигнут, содержит один ResponseMessage для каждой части.
Этот метод является переопределенным методом ContentConsumer.putData. Если вы заменяете этот метод и возвращаете stop=true перед концом сообщения (если data не пуст) в порядке отключить получение сообщения перед нормальным концом сообщения, необходимо постараться не вызывать этот метод суперкласса для последующего вызова putData(uint8.empty), который обычно выполняет тот MATLAB® после того, как вы устанавливаете stop. Отказ сделать так результаты в недопустимом исключении сообщения из MultipartConsumer из-за преждевременного конца сообщения.
Доступ | public |
ContentConsumer.putData | matlab.net.http. MessageBody | matlab.net.http. ResponseMessage | matlab.net.http.field. ContentTypeField