Класс: matlab.net.http.io. MultipartConsumer
Пакет: matlab.net.http.io
Процесс следующий буфер данных для MultipartConsumer
[length,stop] = putData(consumer,data)
[
накапливает буферы 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
из-за преждевременного конца сообщения.
Access | public |
ContentConsumer.putData
| matlab.net.http.MessageBody
| matlab.net.http.ResponseMessage
| matlab.net.http.field.ContentTypeField