Ejemplo n.º 1
0
 public static IObservable <ChannelMessage> Splice(this IObservable <ChannelMessage> source,
                                                   ChannelMessageType messageType,
                                                   Func <ChannelMessage, ChannelMessage> selector1,
                                                   Func <ChannelMessage, ChannelMessage> selector2 = null)
 {
     return(source.Splice(message => message.MessageType == messageType, selector1, selector2));
 }
Ejemplo n.º 2
0
 public void SendChannel(int channel, ChannelMessageType messageType, int val1, int val2)
 {
     if (channel < 1 || channel > 16)
     {
         throw new ArgumentOutOfRangeException("channel", @"Invalid channel number");
     }
     this.Send((int)messageType | (channel - 1), val1, val2);
 }
Ejemplo n.º 3
0
 public Task <ChannelMessage> ReadMessageAsync(ChannelMessageType messageTypeFilter)
 {
     return(TryReadMessageAsync(messageTypeFilter)
            .ContinueWithIfNoError(t =>
     {
         if (t.Result.MessageType == ChannelMessageType.Unknown)
         {
             throw new RedisException("Unexpected type of message received");
         }
         return t.Result;
     }));
 }
Ejemplo n.º 4
0
 public Task <ChannelMessage> ReadMessageAsync(ChannelMessageType messageTypeFilter)
 {
     return(TryReadMessageAsync(messageTypeFilter)
            .ContinueWithIfNoError(t =>
     {
         if (t.Result.MessageType == ChannelMessageType.Unknown)
         {
             throw new RedisException("Unexpected message received. Maybe Redis connection was closed or QUIT command was sent.");
         }
         return t.Result;
     }));
 }
 internal static bool IsMessageType(this ChannelMessage message, ChannelMessageType type)
 {
     return(message.HandlerCode == (int)type);
 }
Ejemplo n.º 6
0
 public static IObservable <ChannelMessage> OfMessageType(this IObservable <ChannelMessage> source,
                                                          ChannelMessageType type)
 {
     return(source.Where(message => message.MessageType == type));
 }
Ejemplo n.º 7
0
 private void Send(ChannelMessageType messageType, int value1, int value2)
 {
     this.channels.Run(channel => this.port.SendChannel(channel, messageType, value1, value2));
 }
Ejemplo n.º 8
0
 internal ChannelMessage(ChannelMessageType messageType, RedisResponse value, params string[] channels)
 {
     MessageType = messageType;
     Value       = value;
     Channels    = channels;
 }
Ejemplo n.º 9
0
 internal ChannelMessage(ChannelMessageType messageType, RedisResponse value, params string[] channels)
 {
     MessageType = messageType;
     Value = value;
     Channels = channels;
 }