fn ping()

in src/codec/thrift.rs [152:192]


    fn ping() {
        let mut buffer = ThriftBuffer::new();

        // new buffer has 4 bytes to hold framing later
        assert_eq!(buffer.len(), 4);
        assert_eq!(buffer.as_bytes(), &[0, 0, 0, 0]);

        buffer.protocol_header();
        assert_eq!(buffer.len(), 8);
        assert_eq!(buffer.as_bytes(), &[0, 0, 0, 0, 128, 1, 0, 1]);

        buffer.method_name("ping");
        assert_eq!(buffer.len(), 16);
        assert_eq!(
            buffer.as_bytes(),
            &[0, 0, 0, 0, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103]
        );

        buffer.sequence_id(0);
        assert_eq!(buffer.len(), 20);
        assert_eq!(
            buffer.as_bytes(),
            &[0, 0, 0, 0, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103, 0, 0, 0, 0]
        );

        buffer.stop();
        assert_eq!(buffer.len(), 21);
        assert_eq!(
            buffer.as_bytes(),
            &[0, 0, 0, 0, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103, 0, 0, 0, 0, 0]
        );

        buffer.frame();
        assert_eq!(buffer.len(), 21);
        assert_eq!(
            buffer.as_bytes(),
            &[0, 0, 0, 17, 128, 1, 0, 1, 0, 0, 0, 4, 112, 105, 110, 103, 0, 0, 0, 0, 0]
        );

        assert_eq!(decode(buffer.as_bytes()), Ok(()));
    }