Exemple #1
0
        public override IEnumerable <BulkString> Request(BulkStringFactory factory)
        {
            yield return(name);

            yield return(factory.Utf8(ipEndPoint.ToString()));

            yield return(factory.Create(ipEndPoint.Port));

            yield return(keys.Count == 1
                ? keys[0].ToBulkString(factory)
                : PlainBulkString.Empty);

            yield return(factory.Create(destinationDb.Value));

            yield return(timeout.ToBulkString(factory));

            if (sourceKeyBehavior == SourceKeyBehavior.Copy)
            {
                yield return(copySegment);
            }

            if (destinationKeyBehavior == DestinationKeyBehavior.Replace)
            {
                yield return(replaceSegment);
            }

            foreach (var argument in auth.Arguments())
            {
                yield return(argument);
            }

            if (keys.Count > 1)
            {
                yield return(keysSegment);

                foreach (var key in keys)
                {
                    yield return(key.ToBulkString(factory));
                }
            }
        }