예제 #1
0
        async Task IServerHubContext.SendOperationRequestAsync(IS2SPhotonWirePeer peer, byte methodOpCode, object[] arguments)
        {
            var parameters = new Dictionary <byte, object>();

            for (byte i = 0; i < arguments.Length; i++)
            {
                parameters.Add(i, serializer.Serialize(arguments[i]));
            }
            parameters[ReservedParameterNo.RequestHubId] = Hub.HubId;

            var response = await peer.SendOperationRequestAsync(methodOpCode, parameters, SendParameters);

            if (response.ReturnCode == 0)
            {
                // success
                return;
            }
            else
            {
                throw new FailedSendOperationException(response);
            }
        }
 public static T Build(IServerHubContext context, IS2SPhotonWirePeer peer)
 {
     return(builder.Value(context, peer));
 }