Skip to content

refactor: move RpcMethodId serialization from ILPP to Core#910

Merged
0xFA11 merged 1 commit intodevelopfrom
refactor/rpc-ilpp
Jun 17, 2021
Merged

refactor: move RpcMethodId serialization from ILPP to Core#910
0xFA11 merged 1 commit intodevelopfrom
refactor/rpc-ilpp

Conversation

@0xFA11
Copy link
Contributor

@0xFA11 0xFA11 commented Jun 17, 2021

previously, ILPP'd RPC method body was serializing RpcMethodId but with this PR, it is being moved from ILPP to Core.

pseudo-code breakdown

before

MyFancyNetBhv::FooServerRpc(int someNumber, string someMessage)
{
    var serializer = NetworkBehaviour::__beginServerRpc(serverRpcParams, rpcDelivery)
    {
        serializer.Serialize(ref objectId);
        serializer.Serialize(ref behaviourId);
        serializer.Serialize(ref serverRpcParams.Send.UpdateStage);
    }

    serializer.Serialize(ref rpcMethodId); // ILPP'd
    serializer.Serialize(ref someNumber); // ILPP'd
    serializer.Serialize(ref someMessage); // ILPP'd

    NetworkBehaviour::__endServerRpc(serializer, serverRpcParams, rpcDelivery)
    {
        rpcQueueContainer.EndAddQueueItemToFrame(...);
    }
}

after

MyFancyNetBhv::FooServerRpc(int someNumber, string someMessage)
{
    var serializer = NetworkBehaviour::__beginServerRpc(rpcMethodId, serverRpcParams, rpcDelivery)
    {
        serializer.Serialize(ref objectId);
        serializer.Serialize(ref behaviourId);
        serializer.Serialize(ref rpcMethodId);
        serializer.Serialize(ref serverRpcParams.Send.UpdateStage);
    }

    serializer.Serialize(ref someNumber); // ILPP'd
    serializer.Serialize(ref someMessage); // ILPP'd

    NetworkBehaviour::__endServerRpc(serializer, rpcMethodId, serverRpcParams, rpcDelivery)
    {
        rpcQueueContainer.EndAddQueueItemToFrame(...);
    }
}

Copy link

@Rosme Rosme left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@0xFA11 0xFA11 merged commit 32da2f9 into develop Jun 17, 2021
@0xFA11 0xFA11 deleted the refactor/rpc-ilpp branch June 17, 2021 13:24
SamuelBellomo added a commit that referenced this pull request Jun 22, 2021
* develop: (21 commits)
  feat: NetworkObject Parenting (#855)
  refactor: move RpcMethodId serialization from ILPP to Core (#910)
  fix: NetworkPrefabs container's elements invalidated in the NetworkManager after relaunching Unity Project (#905)
  feat!: OnNetworkSpawn / OnNetworkDespawn (#865)
  feat: Add missing XMLdoc comment (#897)
  refactor: upgrade ILPP backend, drop 2019.4 support, rename types/fields (#895)
  fix: do not access/render runtime info if not playing in the editor (#898)
  feat: Add name property for network variables (#891)
  chore: delete PhilTestResults.xml (#894)
  feat: MultiInstanceHelpers to use fixed FrameRate by default (#893)
  test: General MultiInstanceHelper improvements (#885)
  refactor: isKinematic set to true for rigid bodies of non-authorized instances (#886)
  docs: adding more info to help debug on network transform error message (#892)
  feat: Add RPC Name Lookup Table Provided by NetworkBehaviourILPP (#875)
  fix: remove OnClientConnectedCallback registration from StatsDisplay (#882)
  feat: Add profiling decorator pattern (#878)
  refactor: Removing dead code for NETWORK_VARIABLE_UPDATE (#880)
  fix: update package version to 0.2.0 because of unity minversion change (#881)
  docs: Fix typo in changelog version title
  docs: Hotfix Changelog for 0.1.1 and manual update (#873)
  ...

# Conflicts:
#	com.unity.multiplayer.mlapi/Runtime/Core/NetworkBehaviour.cs
#	com.unity.multiplayer.mlapi/Runtime/Core/NetworkManager.cs
#	com.unity.multiplayer.mlapi/Tests/Runtime/BaseMultiInstanceTest.cs
#	com.unity.multiplayer.mlapi/Tests/Runtime/BaseMultiInstanceTest.cs.meta
SamuelBellomo added a commit that referenced this pull request Jun 22, 2021
* develop: (67 commits)
  feat: NetworkObject Parenting (#855)
  refactor: move RpcMethodId serialization from ILPP to Core (#910)
  fix: NetworkPrefabs container's elements invalidated in the NetworkManager after relaunching Unity Project (#905)
  feat!: OnNetworkSpawn / OnNetworkDespawn (#865)
  feat: Add missing XMLdoc comment (#897)
  refactor: upgrade ILPP backend, drop 2019.4 support, rename types/fields (#895)
  fix: do not access/render runtime info if not playing in the editor (#898)
  feat: Add name property for network variables (#891)
  chore: delete PhilTestResults.xml (#894)
  feat: MultiInstanceHelpers to use fixed FrameRate by default (#893)
  test: General MultiInstanceHelper improvements (#885)
  refactor: isKinematic set to true for rigid bodies of non-authorized instances (#886)
  docs: adding more info to help debug on network transform error message (#892)
  feat: Add RPC Name Lookup Table Provided by NetworkBehaviourILPP (#875)
  fix: remove OnClientConnectedCallback registration from StatsDisplay (#882)
  feat: Add profiling decorator pattern (#878)
  refactor: Removing dead code for NETWORK_VARIABLE_UPDATE (#880)
  fix: update package version to 0.2.0 because of unity minversion change (#881)
  docs: Fix typo in changelog version title
  docs: Hotfix Changelog for 0.1.1 and manual update (#873)
  ...

# Conflicts:
#	com.unity.multiplayer.mlapi/Tests/Runtime/com.unity.multiplayer.mlapi.runtimetests.asmdef
#	testproject/ProjectSettings/EditorBuildSettings.asset
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants