private void p_UserChannelCreated(object sender, ChannelCreatedEventArgs e) { e.CanDisposeChannel = false; SendFileInfo info = (SendFileInfo)e.Data; ServerClient otherClient; lock (fClients) fClients.TryGetValue(info.To, out otherClient); if (otherClient == null) { return; } var otherRemotingClient = RemotingClient.GetFromRemoteObject(otherClient.fClient); using (var otherChannel = otherRemotingClient.CreateUserChannel(info)) { UnlimitedThreadPool.Run ( delegate { try { while (true) { int b = otherChannel.ReadByte(); if (b == -1) { e.Channel.Dispose(); return; } e.Channel.WriteByte((byte)b); e.Channel.Flush(); } } catch { otherChannel.Dispose(); e.Channel.Dispose(); } } ); byte[] buffer = new byte[8 * 1024]; while (true) { int read = e.Channel.Read(buffer, 0, buffer.Length); if (read <= 0) { return; } otherChannel.Write(buffer, 0, read); otherChannel.Flush(); } } }
public async ValueTask HandleChannelCreated(object sender, ChannelCreatedEventArgs e) { foreach (var service in ChannelCreatedServices) { await ExecuteAsync((service, e) => service.OnChannelCreated(e), service, e).ConfigureAwait(false); } }
public ValueTask HandleChannelCreated(object sender, ChannelCreatedEventArgs e) { foreach (var service in _channelCreatedServices) { _ = ExecuteAsync((service, e) => service.OnChannelCreated(e), service, e); } return(default);
private void onChannelCreated(object sender, ChannelCreatedEventArgs e) { ListResponse <uint> test2 = queryRunner.GetClientDatabaseIdsByUniqueId("sR/12P6fJAJngNXQqK+JMA9CFuw="); uint test = queryRunner.GetClientDatabaseIdsByUniqueId(e.InvokerUniqueId).Values[0]; ListResponse <ServerGroupLight> servergroups = queryRunner.GetServerGroupsByClientId(test); bool allowed = false; List <string> admin_servergroups = new List <string>(); admin_servergroups.AddRange(sql.getProperty(serverinfo.id, "admins_servergroup_ids").Split(',')); foreach (ServerGroupLight servergroup in servergroups) { foreach (string admin_servergroup in admin_servergroups) { if (servergroup.Id == (uint)Convert.ToInt32(admin_servergroup)) { allowed = true; } } } if (allowed) { //User was allowed to do this, however now we want to re-scan the room list. ScanRooms(); } else { ListResponse <ChannelListEntry> channels = queryRunner.GetChannelList(true, false, false, false, false); //SimpleResponse response = queryRunner.DeleteChannel((uint)Convert.ToInt32(values["cid"])); foreach (ChannelListEntry channel in channels) { if (channel.Topic == "temporary_area") { SimpleResponse response = queryRunner.MoveChannel((uint)Convert.ToInt32(e.ChannelId), channel.ChannelId); ChannelModification mod = new ChannelModification(); mod.IsTemporary = true; mod.IsPermanent = false; mod.IsSemiPermanent = false; queryRunner.EditChannel((uint)Convert.ToInt32(e.ChannelId), mod); break; } } } }
private void p_UserChannelCreated(object sender, ChannelCreatedEventArgs e) { Invoke ( new Action ( delegate { SendFileInfo sendFileInfo = (SendFileInfo)e.Data; using (var dialog = new SaveFileDialog()) { dialog.FileName = sendFileInfo.FileName; if (dialog.ShowDialog() != DialogResult.OK) { return; } FormTransferFile form = null; FileStream fileStream = null; try { fileStream = File.Create(dialog.FileName); form = new FormTransferFile(sendFileInfo, fileStream, e.Channel, false); form.Show(); e.CanDisposeChannel = false; } catch (Exception exception) { if (fileStream != null) { fileStream.Dispose(); } if (form != null) { form.Dispose(); } MessageBox.Show(exception.Message); } } } ) ); }
private void Notifications_ChannelCreated(object sender, ChannelCreatedEventArgs e) { //throw new NotImplementedException(); }
private async void ChannelTrackingStatusCreated(object sender, ChannelCreatedEventArgs e) { await AddChannel(e.ChannelId); }
//private void atd_ServerClosedConnection(object sender, EventArgs e) //{ // throw new NotImplementedException(); //} private void onChannelCreated(object sender, ChannelCreatedEventArgs e) { }
protected internal virtual ValueTask OnChannelCreated(ChannelCreatedEventArgs e) => default;
public virtual void onChannelCreated(object sender, ChannelCreatedEventArgs e) { }