private Mono<TurmsNotification> handleServiceRequest(
            UserSessionWrapper sessionWrapper,
            SimpleTurmsRequest request,
            ByteBuf serviceRequestBuffer) {
        UserSession session = sessionWrapper.getUserSession();
        if (session == null || !session.isOpen()) {
            serviceRequestBuffer.release();
            return Mono.just(NotificationFactory.sessionClosed(request.requestId()));
        }
        ServiceRequest serviceRequest = new ServiceRequest(
                sessionWrapper.getAddress()
                        .getAddress()
                        .getAddress(),
                session.getUserId(),
                session.getDeviceType(),
                request.requestId(),
                request.type(),
                serviceRequestBuffer);
        return serviceRequestService.handleServiceRequest(session, serviceRequest);
    }
The method ensures serviceRequestBuffer will be released by 1
turms-gateway/src/main/java/im/turms/gateway/access/client/common/ClientRequestDispatcher.java