private void HandleChannelCreate(Packets.ChannelCreate payload, ushort channelNumber)
        {
            NanoChannelId id = NanoChannelClass.GetIdByClassName(payload.Name);

            _channels[channelNumber] = id;
            GetChannelById(id).OnChannelCreated(payload.Flags, channelNumber);
        }
예제 #2
0
 public StreamingChannelBase(NanoClient client, NanoChannelId channelId)
 {
     _client        = client;
     ChannelId      = channelId;
     ChannelNumber  = 0;
     SequenceNumber = 0;
     IsOpen         = false;
 }
        public StreamingChannelBase GetChannelById(NanoChannelId id)
        {
            switch (id)
            {
            case NanoChannelId.Audio: return(Audio);

            case NanoChannelId.ChatAudio: return(ChatAudio);

            case NanoChannelId.Control: return(Control);

            case NanoChannelId.Input: return(Input);

            case NanoChannelId.InputFeedback: return(InputFeedback);

            case NanoChannelId.Video: return(Video);

            default:
                throw new NotSupportedException($"Unsupported NanoChannelId: {id}");
            }
        }
예제 #4
0
 public InputChannelBase(NanoClient client, NanoChannelId id)
     : base(client, id)
 {
 }
 public VideoChannelBase(NanoClient client, NanoChannelId id)
     : base(client, id)
 {
 }
 public AudioChannelBase(NanoClient client, NanoChannelId id)
     : base(client, id)
 {
 }
        private void HandleChannelClose(Packets.ChannelClose payload, ushort channelNumber)
        {
            NanoChannelId id = GetChannel(channelNumber);

            GetChannelById(id).OnChannelClosed(payload.Flags);
        }
        public void HandleStreamer(Packets.Streamer streamer, ushort channelNumber)
        {
            NanoChannelId id = GetChannel(channelNumber);

            ((IStreamingChannel)GetChannelById(id)).OnStreamer(streamer);
        }