public IAsyncAction RelayAsync(RelayMessage message) { return(Task.Run(async() => { await ServerConfirmationAsync(Confirmation.For(message)).CastToTask(); OnRelayMessage?.Invoke(this, message); }).CastToAsyncAction()); }
protected override void EventHandler(RealtimeEvent @event) { base.EventHandler(@event); if (@event is RelayRealtimeEvent relayEvent) { switch (relayEvent.EventType) { case RelayRealtimeEventType.OnRelayMessage: OnRelayMessageWithMetadataEvent relayMessageEvent = relayEvent as OnRelayMessageWithMetadataEvent; if (OnRelayMessage != null) { OnRelayMessage.Invoke(relayMessageEvent.Message); } if (OnRelayMessageWithMetadata != null) { OnRelayMessageWithMetadata.Invoke(relayMessageEvent.Message, relayMessageEvent.Metadata); } break; } } }
public void Relay(RelayMessage message) { ServerConfirmation(Confirmation.For(message)); OnRelayMessage?.Invoke(this, message); }