You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This check is generated if and only if a method returns a single Data<T>, otherwise it just checks that the response contain the correct fields, with no typechecking.
So if the implementation returns a MatchmakeSession, it should be valid, but since it doesn't inherit from common.Data (but common.Structure, even though it's registered in the DataHolder list), this check fails, and the error is raised.
A quick manual fix is to remove the if case, and it works as expected since the Gathering types are all registered in the DataHolder
NOTE: This might be occuring in other protocols, but i didn't bother checking
So a long term fix may be to add a check in the generate_protocols.py script so it checks the object is of a type registered in the DataHolder registry instead of checking the response is an instance of common.Data, i'm waiting for your input on that.
The text was updated successfully, but these errors were encountered:
EpicUsername12
changed the title
MatchamkeExtensionServer issues with Data<Gathering> outputs
MatchamkeExtensionServer issues with single Data<Gathering> outputs
Apr 16, 2023
The following methods have an implementation issue:
They all respond with a single
Data<Gathering>
But in the python MatchmakeExtensionServer, the handler expects that:
NintendoClients/nintendo/nex/matchmaking.py
Lines 3779 to 3784 in 0d2adcd
This check is generated if and only if a method returns a single
Data<T>
, otherwise it just checks that the response contain the correct fields, with no typechecking.So if the implementation returns a
MatchmakeSession
, it should be valid, but since it doesn't inherit fromcommon.Data
(butcommon.Structure
, even though it's registered in theDataHolder
list), this check fails, and the error is raised.if
case, and it works as expected since the Gathering types are all registered in theDataHolder
NOTE: This might be occuring in other protocols, but i didn't bother checking
So a long term fix may be to add a check in the
generate_protocols.py
script so it checks the object is of a type registered in theDataHolder
registry instead of checking the response is an instance ofcommon.Data
, i'm waiting for your input on that.The text was updated successfully, but these errors were encountered: