void InitializePayloadHandlers() { payloadHandlers = new Dictionary <GatewayOPCode, PayloadCallback>(); Type taskType = typeof(Task); Type gatewaySocketType = typeof(GatewaySocket); Type payloadSynchronousType = typeof(PayloadSynchronousCallback); Type payloadAsynchronousType = typeof(PayloadAsynchronousCallback); foreach (MethodInfo method in gatewaySocketType.GetTypeInfo().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic)) { PayloadAttribute attr = method.GetCustomAttribute <PayloadAttribute>(); if (attr != null) { PayloadCallback payloadCallback; if (method.ReturnType == taskType) { Delegate callback = method.CreateDelegate(payloadAsynchronousType, this); payloadCallback = new PayloadCallback((PayloadAsynchronousCallback)callback); } else { Delegate callback = method.CreateDelegate(payloadSynchronousType, this); payloadCallback = new PayloadCallback((PayloadSynchronousCallback)callback); } payloadHandlers[attr.OPCode] = payloadCallback; } } }
public Task AcceptConnectionAsync(String p0, PayloadCallback p1) { return(AcceptConnection(p0, p1).AsAsync()); }
public static Task AcceptConnectionAsync (this IConnectionsClient self, String p0, PayloadCallback p1) { return self.AcceptConnection (p0, p1).AsAsync (); }
public static async Task <Statuses> AcceptConnectionAsync(this IConnections api, GoogleApiClient apiClient, string endpointId, PayloadCallback payloadCallback) { return((await api.AcceptConnection(apiClient, endpointId, payloadCallback)).JavaCast <Statuses>()); }