Exemple #1
0
 private static void WriteBulkString(Stream stream, RespValue value)
 {
     if (value.IsNull())
     {
         WriteNullable(stream, '$');
     }
     else
     {
         WriteBytes(stream, value, '$', true);
     }
 }
Exemple #2
0
 private static void WriteRespValue(Stream stream, RespValue respValue)
 {
     switch (respValue.Type)
     {
         case RespValueType.SimpleString:
             WriteSimpleString(stream, respValue);
             break;
         case RespValueType.Error:
             WriteErrorString(stream, respValue);
             break;
         case RespValueType.BulkString:
             WriteBulkString(stream, respValue);
             break;
         case RespValueType.Array:
         {
             if (respValue.IsNull())
             {
                 WriteNullable(stream, '*');
             }
             else
             {
                 var respValues = respValue.GetItems();
                 WriteHeader(stream, '*');
                 WriteInt(stream, respValues.Length);
                 WriteCrLf(stream);
                 foreach (var item in respValues)
                     WriteRespValue(stream, item);
             }
             break;
         }
         case RespValueType.Integer:
         {
             WriteInteger(stream, respValue);
             break;
         }
         default:
             throw new ArgumentOutOfRangeException("respValue", respValue.Type.ToString());
     }
 }