mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-05-29 14:57:49 +03:00
lsteamclient: Use overloads and static dispatch for networking_message.
This commit is contained in:
parent
11083b94b5
commit
8d0ab1f8d3
@ -13,10 +13,10 @@ static void receive_messages_utow_144( uint32_t count, u_SteamNetworkingMessage_
|
|||||||
|
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( w_msgs[i], struct networking_message, w_msg_144 );
|
struct networking_message *message = networking_message::from_w( w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_144 *w_msg = &message->w_msg_144;
|
auto *w_msg = &message->w_msg( **w_msgs );
|
||||||
u_SteamNetworkingMessage_t_144 *u_msg = u_msgs[i];
|
u_SteamNetworkingMessage_t_144 *u_msg = u_msgs[i];
|
||||||
message->u_msg_144 = u_msg;
|
message->u_msg( **w_msgs ) = u_msg;
|
||||||
|
|
||||||
w_msg->m_cbSize = u_msg->m_cbSize;
|
w_msg->m_cbSize = u_msg->m_cbSize;
|
||||||
w_msg->m_conn = u_msg->m_conn;
|
w_msg->m_conn = u_msg->m_conn;
|
||||||
@ -35,13 +35,12 @@ NTSTATUS steamclient_networking_messages_receive_144( void *args )
|
|||||||
|
|
||||||
for (i = 0; i < params->count; i++)
|
for (i = 0; i < params->count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( params->w_msgs[i], struct networking_message, w_msg_144 );
|
struct networking_message *message = networking_message::from_w( params->w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_144 *w_msg = &message->w_msg_144;
|
auto *w_msg = &message->w_msg( **params->w_msgs );
|
||||||
u_SteamNetworkingMessage_t_144 *u_msg = message->u_msg_144;
|
auto *u_msg = message->u_msg( **params->w_msgs );
|
||||||
|
|
||||||
memcpy( w_msg->m_pData, u_msg->m_pData, u_msg->m_cbSize );
|
memcpy( w_msg->m_pData, u_msg->m_pData, u_msg->m_cbSize );
|
||||||
u_msg->m_pfnRelease( u_msg );
|
u_msg->m_pfnRelease( u_msg );
|
||||||
message->u_msg_144 = NULL;
|
message->u_msg( **params->w_msgs ) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -98,10 +97,10 @@ static void receive_messages_utow_147( uint32_t count, u_SteamNetworkingMessage_
|
|||||||
|
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( w_msgs[i], struct networking_message, w_msg_147 );
|
struct networking_message *message = networking_message::from_w( w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_147 *w_msg = &message->w_msg_147;
|
auto *w_msg = &message->w_msg( **w_msgs );
|
||||||
u_SteamNetworkingMessage_t_147 *u_msg = u_msgs[i];
|
u_SteamNetworkingMessage_t_147 *u_msg = u_msgs[i];
|
||||||
message->u_msg_147 = u_msg;
|
message->u_msg( **w_msgs ) = u_msg;
|
||||||
|
|
||||||
w_msg->m_cbSize = u_msg->m_cbSize;
|
w_msg->m_cbSize = u_msg->m_cbSize;
|
||||||
w_msg->m_conn = u_msg->m_conn;
|
w_msg->m_conn = u_msg->m_conn;
|
||||||
@ -122,13 +121,12 @@ NTSTATUS steamclient_networking_messages_receive_147( void *args )
|
|||||||
|
|
||||||
for (i = 0; i < params->count; i++)
|
for (i = 0; i < params->count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( params->w_msgs[i], struct networking_message, w_msg_147 );
|
struct networking_message *message = networking_message::from_w( params->w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_147 *w_msg = &message->w_msg_147;
|
auto *w_msg = &message->w_msg( **params->w_msgs );
|
||||||
u_SteamNetworkingMessage_t_147 *u_msg = message->u_msg_147;
|
auto *u_msg = message->u_msg( **params->w_msgs );
|
||||||
|
|
||||||
memcpy( w_msg->m_pData, u_msg->m_pData, u_msg->m_cbSize );
|
memcpy( w_msg->m_pData, u_msg->m_pData, u_msg->m_cbSize );
|
||||||
u_msg->m_pfnRelease( u_msg );
|
u_msg->m_pfnRelease( u_msg );
|
||||||
message->u_msg_147 = NULL;
|
message->u_msg( **params->w_msgs ) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -147,9 +145,9 @@ static void send_messages_wtou_147( uint32_t count, w_SteamNetworkingMessage_t_1
|
|||||||
|
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( w_msgs[i], struct networking_message, w_msg_147 );
|
struct networking_message *message = networking_message::from_w( w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_147 *w_msg = &message->w_msg_147;
|
auto *w_msg = &message->w_msg( **w_msgs );
|
||||||
u_SteamNetworkingMessage_t_147 *u_msg = message->u_msg_147;
|
u_SteamNetworkingMessage_t_147 *u_msg = message->u_msg( **w_msgs );
|
||||||
|
|
||||||
if (!u_msg->m_pData)
|
if (!u_msg->m_pData)
|
||||||
{
|
{
|
||||||
@ -169,19 +167,19 @@ static void send_messages_wtou_147( uint32_t count, w_SteamNetworkingMessage_t_1
|
|||||||
u_msg->m_nUserData = w_msg->m_nUserData;
|
u_msg->m_nUserData = w_msg->m_nUserData;
|
||||||
|
|
||||||
/* steamclient library takes ownership */
|
/* steamclient library takes ownership */
|
||||||
message->u_msg_147 = NULL;
|
message->u_msg( **w_msgs ) = NULL;
|
||||||
u_msgs[i] = u_msg;
|
u_msgs[i] = u_msg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void networking_message_release_147( w_SteamNetworkingMessage_t_147 *w_msg )
|
static void networking_message_release_147( w_SteamNetworkingMessage_t_147 *w_msg )
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( w_msg, struct networking_message, w_msg_147 );
|
struct networking_message *message = networking_message::from_w( w_msg );
|
||||||
u_SteamNetworkingMessage_t_147 *u_msg = message->u_msg_147;
|
auto *u_msg = message->u_msg( *w_msg );
|
||||||
|
|
||||||
if (!message->u_msg_147) return;
|
if (!message->u_msg( *w_msg )) return;
|
||||||
u_msg->m_pfnRelease( u_msg );
|
u_msg->m_pfnRelease( u_msg );
|
||||||
message->u_msg_147 = NULL;
|
message->u_msg( *w_msg ) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS steamclient_networking_message_release_147( void *args )
|
NTSTATUS steamclient_networking_message_release_147( void *args )
|
||||||
@ -376,10 +374,10 @@ static void receive_messages_utow_153a( uint32_t count, u_SteamNetworkingMessage
|
|||||||
|
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( w_msgs[i], struct networking_message, w_msg_153a );
|
struct networking_message *message = networking_message::from_w( w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_153a *w_msg = &message->w_msg_153a;
|
auto *w_msg = &message->w_msg( **w_msgs );
|
||||||
u_SteamNetworkingMessage_t_153a *u_msg = u_msgs[i];
|
u_SteamNetworkingMessage_t_153a *u_msg = u_msgs[i];
|
||||||
message->u_msg_153a = u_msg;
|
message->u_msg( **w_msgs ) = u_msg;
|
||||||
|
|
||||||
w_msg->m_cbSize = u_msg->m_cbSize;
|
w_msg->m_cbSize = u_msg->m_cbSize;
|
||||||
w_msg->m_conn = u_msg->m_conn;
|
w_msg->m_conn = u_msg->m_conn;
|
||||||
@ -401,13 +399,12 @@ NTSTATUS steamclient_networking_messages_receive_153a( void *args )
|
|||||||
|
|
||||||
for (i = 0; i < params->count; i++)
|
for (i = 0; i < params->count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( params->w_msgs[i], struct networking_message, w_msg_153a );
|
struct networking_message *message = networking_message::from_w( params->w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_153a *w_msg = &message->w_msg_153a;
|
auto *w_msg = &message->w_msg( **params->w_msgs );
|
||||||
u_SteamNetworkingMessage_t_153a *u_msg = message->u_msg_153a;
|
auto *u_msg = message->u_msg( **params->w_msgs );
|
||||||
|
|
||||||
memcpy( w_msg->m_pData, u_msg->m_pData, u_msg->m_cbSize );
|
memcpy( w_msg->m_pData, u_msg->m_pData, u_msg->m_cbSize );
|
||||||
u_msg->m_pfnRelease( u_msg );
|
u_msg->m_pfnRelease( u_msg );
|
||||||
message->u_msg_153a = NULL;
|
message->u_msg( **params->w_msgs ) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -426,9 +423,9 @@ static void send_messages_wtou_153a( uint32_t count, w_SteamNetworkingMessage_t_
|
|||||||
|
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( w_msgs[i], struct networking_message, w_msg_153a );
|
struct networking_message *message = networking_message::from_w( w_msgs[i] );
|
||||||
w_SteamNetworkingMessage_t_153a *w_msg = &message->w_msg_153a;
|
auto *w_msg = &message->w_msg( **w_msgs );
|
||||||
u_SteamNetworkingMessage_t_153a *u_msg = message->u_msg_153a;
|
u_SteamNetworkingMessage_t_153a *u_msg = message->u_msg( **w_msgs );
|
||||||
|
|
||||||
if (!u_msg->m_pData)
|
if (!u_msg->m_pData)
|
||||||
{
|
{
|
||||||
@ -449,19 +446,19 @@ static void send_messages_wtou_153a( uint32_t count, w_SteamNetworkingMessage_t_
|
|||||||
u_msg->m_idxLane = w_msg->m_idxLane;
|
u_msg->m_idxLane = w_msg->m_idxLane;
|
||||||
|
|
||||||
/* steamclient library takes ownership */
|
/* steamclient library takes ownership */
|
||||||
message->u_msg_153a = NULL;
|
message->u_msg( **w_msgs ) = NULL;
|
||||||
u_msgs[i] = u_msg;
|
u_msgs[i] = u_msg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void networking_message_release_153a( w_SteamNetworkingMessage_t_153a *w_msg )
|
static void networking_message_release_153a( w_SteamNetworkingMessage_t_153a *w_msg )
|
||||||
{
|
{
|
||||||
struct networking_message *message = CONTAINING_RECORD( w_msg, struct networking_message, w_msg_153a );
|
struct networking_message *message = networking_message::from_w( w_msg );
|
||||||
u_SteamNetworkingMessage_t_153a *u_msg = message->u_msg_153a;
|
auto *u_msg = message->u_msg( *w_msg );
|
||||||
|
|
||||||
if (!message->u_msg_153a) return;
|
if (!message->u_msg( *w_msg )) return;
|
||||||
u_msg->m_pfnRelease( u_msg );
|
u_msg->m_pfnRelease( u_msg );
|
||||||
message->u_msg_153a = NULL;
|
message->u_msg( *w_msg ) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS steamclient_networking_message_release_153a( void *args )
|
NTSTATUS steamclient_networking_message_release_153a( void *args )
|
||||||
|
@ -223,6 +223,18 @@ struct networking_message
|
|||||||
w_SteamNetworkingMessage_t_147 w_msg_147;
|
w_SteamNetworkingMessage_t_147 w_msg_147;
|
||||||
w_SteamNetworkingMessage_t_153a w_msg_153a;
|
w_SteamNetworkingMessage_t_153a w_msg_153a;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
static struct networking_message *from_w( const w_SteamNetworkingMessage_t_144* w_msg ) { return CONTAINING_RECORD( w_msg, struct networking_message, w_msg_144 ); }
|
||||||
|
static struct networking_message *from_w( const w_SteamNetworkingMessage_t_147* w_msg ) { return CONTAINING_RECORD( w_msg, struct networking_message, w_msg_147 ); }
|
||||||
|
static struct networking_message *from_w( const w_SteamNetworkingMessage_t_153a* w_msg ) { return CONTAINING_RECORD( w_msg, struct networking_message, w_msg_153a ); }
|
||||||
|
u_SteamNetworkingMessage_t_144*& u_msg( w_SteamNetworkingMessage_t_144 const& ) { return this->u_msg_144; }
|
||||||
|
u_SteamNetworkingMessage_t_147*& u_msg( w_SteamNetworkingMessage_t_147 const& ) { return this->u_msg_147; }
|
||||||
|
u_SteamNetworkingMessage_t_153a*& u_msg( w_SteamNetworkingMessage_t_153a const& ) { return this->u_msg_153a; }
|
||||||
|
w_SteamNetworkingMessage_t_144& w_msg( w_SteamNetworkingMessage_t_144 const& ) { return this->w_msg_144; }
|
||||||
|
w_SteamNetworkingMessage_t_147& w_msg( w_SteamNetworkingMessage_t_147 const& ) { return this->w_msg_147; }
|
||||||
|
w_SteamNetworkingMessage_t_153a& w_msg( w_SteamNetworkingMessage_t_153a const& ) { return this->w_msg_153a; }
|
||||||
|
#endif /* __cplusplus */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct w_request
|
struct w_request
|
||||||
|
Loading…
x
Reference in New Issue
Block a user