protected static void checkPayload(Channel channel, long size) throws IOException {
        int payload = getPayload(channel);
        boolean overPayload = isOverPayload(payload, size);
        if (overPayload) {
            ExceedPayloadLimitException e = new ExceedPayloadLimitException(
                    "Data length too large: " + size + ", max payload: " + payload + ", channel: " + channel);
            logger.error(TRANSPORT_EXCEED_PAYLOAD_LIMIT, "", "", e.getMessage(), e);
            throw e;
        }
    }
@Test
    void tesCheckPayloadMinusPayloadNoLimit() throws Exception {
        Channel channel = mock(Channel.class);
        given(channel.getUrl()).willReturn(URL.valueOf("dubbo://1.1.1.1?payload=-1"));

        AbstractCodec.checkPayload(channel, 15 * 1024 * 1024);

        verify(channel, VerificationModeFactory.atLeastOnce()).getUrl();
    }