Interface RawRequestHandler
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Низкоуровневый zero-allocation handler для сырых request/response байтов.
Low-level zero-allocation handler for raw request and response bytes.
В отличие от RequestHandler, здесь пользователь работает напрямую
с байтами:
request приходит как диапазон в DirectBuffer, а response нужно
записать в предоставленный MutableDirectBuffer начиная с
responseOffset. Возвращаемое значение — длина response payload.
Unlike RequestHandler, this API works directly with bytes:
the request arrives as a range inside a DirectBuffer, and the
response must be written into the provided MutableDirectBuffer
starting at responseOffset. The return value is the response payload
length.
Значение <= 0 означает, что ответ не отправляется.
A return value of <= 0 means that no response should be sent.
-
Method Summary
Modifier and TypeMethodDescriptioninthandle(org.agrona.DirectBuffer requestBuffer, int requestOffset, int requestLength, org.agrona.MutableDirectBuffer responseBuffer, int responseOffset, int responseCapacity) Обрабатывает raw-запрос и пишет raw-ответ.
-
Method Details
-
handle
int handle(org.agrona.DirectBuffer requestBuffer, int requestOffset, int requestLength, org.agrona.MutableDirectBuffer responseBuffer, int responseOffset, int responseCapacity) Обрабатывает raw-запрос и пишет raw-ответ.Handles a raw request and writes a raw response.
- Parameters:
requestBuffer- буфер с payload запроса / buffer containing the request payloadrequestOffset- смещение payload запроса / request payload offsetrequestLength- длина payload запроса в байтах / request payload length in bytesresponseBuffer- буфер для payload ответа / buffer for the response payloadresponseOffset- смещение, с которого нужно писать ответ / offset where response writing startsresponseCapacity- доступная емкость для payload ответа / available response payload capacity- Returns:
- число записанных байт;
<= 0означает отсутствие ответа / number of bytes written;<= 0means no response
-