<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:21:26 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-4617] Explore alternatives to X macros in mongoc-rpc.c</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4617</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/X_Macro&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;X macro&lt;/a&gt; pattern used by mongoc-rpc-private.h and mongoc-rpc.c to define structs and their corresponding &lt;tt&gt;gather&lt;/tt&gt;/&lt;tt&gt;printf&lt;/tt&gt;/&lt;tt&gt;swab_(to/from)_le&lt;/tt&gt;/&lt;tt&gt;scatter&lt;/tt&gt; functions has been a continued source of frustration when attempting to debug RPC function behavior. As we continue to improve &lt;tt&gt;OP_MSG&lt;/tt&gt; support and move away from legacy opcodes, it may be worth refactoring this component to improve readability and the debugging experience.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2317458">CDRIVER-4617</key>
            <summary>Explore alternatives to X macros in mongoc-rpc.c</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="ezra.chung@mongodb.com">Ezra Chung</assignee>
                                    <reporter username="ezra.chung@mongodb.com">Ezra Chung</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Apr 2023 15:00:31 +0000</created>
                <updated>Sat, 28 Oct 2023 11:27:52 +0000</updated>
                            <resolved>Mon, 26 Jun 2023 16:12:28 +0000</resolved>
                                                    <fixVersion>1.24.0</fixVersion>
                    <fixVersion>1.25.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5525208" author="JIRAUSER1261413" created="Mon, 26 Jun 2023 16:12:28 +0000"  >&lt;p&gt;New mcd-rpc utilities introduced in 1.24.0 with corresponding libmongoc refactor.&lt;/p&gt;

&lt;p&gt;Old mongoc-rpc utilities removed in 1.25.0.&lt;/p&gt;</comment>
                            <comment id="5525179" author="xgen-internal-githook" created="Mon, 26 Jun 2023 16:08:46 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Ezra Chung&apos;, &apos;email&apos;: &apos;88335979+eramongodb@users.noreply.github.com&apos;, &apos;username&apos;: &apos;eramongodb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4617&quot; title=&quot;Explore alternatives to X macros in mongoc-rpc.c&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4617&quot;&gt;&lt;del&gt;CDRIVER-4617&lt;/del&gt;&lt;/a&gt; Remove legacy mongoc-rpc entities (#1312)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/8126cd3a1108fde86f291f8d98d560200890bcec&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/8126cd3a1108fde86f291f8d98d560200890bcec&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5506162" author="xgen-internal-githook" created="Fri, 16 Jun 2023 18:43:00 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Ezra Chung&apos;, &apos;email&apos;: &apos;88335979+eramongodb@users.noreply.github.com&apos;, &apos;username&apos;: &apos;eramongodb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4617&quot; title=&quot;Explore alternatives to X macros in mongoc-rpc.c&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4617&quot;&gt;&lt;del&gt;CDRIVER-4617&lt;/del&gt;&lt;/a&gt; Refactor libmongoc to use mcd-rpc (#1307)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Add mcd_rpc_message ingress/egress counter functions&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Add mcd_rpc_message compression functions&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Add mcd_rpc_message_get_body&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Add mcd_rpc_message_check_ok&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Refactor mongoc_cluster_t::request_id from uint32_t -&amp;gt; int32_t&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Refactor mock server to use mcd-rpc&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Refactor server monitor thread to use mcd-rpc&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Refactor mongoc-async-cmd to use mcd-rpc&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Refactor mongoc_cluster_run_command_opquery to use mcd-rpc&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Refactor mongoc_cluster_run_opmsg to use mcd-rpc&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Refactor cursor functions to use mcd-rpc&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;CDRIVER-4625 Address distinct pointer type warnings on Windows&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Clean up mock server functions&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/6f58b9d7f32d5ea83b32c162a59d1f97e958657b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/6f58b9d7f32d5ea83b32c162a59d1f97e958657b&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1ni1k:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>