string GetIdleBusKey(CommandPacket cmd) { if (cmd != null && (_rw_splitting || !_is_single)) { var cmdset = CommandSets.Get(cmd._command); if (cmdset != null) { if (!_is_single && (cmdset.Status & CommandSets.LocalStatus.check_single) == CommandSets.LocalStatus.check_single) { throw new RedisClientException($"Method cannot be used in {UseType} mode. You can set \"max pool size=1\", but it is not singleton mode."); } if (_rw_splitting && ((cmdset.Tag & CommandSets.ServerTag.read) == CommandSets.ServerTag.read || (cmdset.Flag & CommandSets.ServerFlag.@readonly) == CommandSets.ServerFlag.@readonly)) { var rndkeys = _ib.GetKeys(v => v == null || v.IsAvailable && v._policy._connectionStringBuilder.Host != _masterHost); if (rndkeys.Any()) { var rndkey = rndkeys[_rnd.Value.Next(0, rndkeys.Length)]; return(rndkey); } } } } return(_masterHost); }
public override IRedisSocket GetRedisSocket(CommandPacket cmd) { if (cmd != null && (_rw_splitting || !_is_single)) { var cmdset = CommandSets.Get(cmd._command); if (cmdset != null) { if (!_is_single && (cmdset.Status & CommandSets.LocalStatus.check_single) == CommandSets.LocalStatus.check_single) { throw new RedisException($"RedisClient: Method cannot be used in {UseType} mode. You can set \"max pool size=1\", but it is not singleton mode."); } if (_rw_splitting && ((cmdset.Tag & CommandSets.ServerTag.read) == CommandSets.ServerTag.read || (cmdset.Flag & CommandSets.ServerFlag.@readonly) == CommandSets.ServerFlag.@readonly)) { var rndkeys = _ib.GetKeys(v => v == null || v.IsAvailable && v._policy._connectionStringBuilder.Host != _masterHost); if (rndkeys.Any()) { var rndkey = rndkeys[_rnd.Value.Next(0, rndkeys.Length)]; var rndpool = _ib.Get(rndkey); var rndcli = rndpool.Get(); var rndrds = rndcli.Value.Adapter.GetRedisSocket(null); return(DefaultRedisSocket.CreateTempProxy(rndrds, () => rndpool.Return(rndcli))); } } } } var poolkey = _masterHost; var pool = _ib.Get(poolkey); var cli = pool.Get(); var rds = cli.Value.Adapter.GetRedisSocket(null); return(DefaultRedisSocket.CreateTempProxy(rds, () => pool.Return(cli))); }
void should_return_tags_passed_to_search_object() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags("tag01", "tag02"); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe(); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(tagsQuery, searchQuery.Query); }
void should_return_query_type_by_type_for_my_work_item_template() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType("bug"); var myWorkItemOption = CommandSets.WorkItemForMe(); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(workItemTypeQuery, searchQuery.Query); }
void should_return_assigned_to_when_my_flag_is_set() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe("flag-set"); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(myWorkItemQuery, searchQuery.Query); }
void should_return_default_states_when_omitted() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe(); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(defaultQuery, searchQuery.Query); }
void should_return_states_passed_to_query() { var workItemStates = CommandSets.WorkItemState("closed", "resolved"); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe(); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(statesQuery, searchQuery.Query); }
public override int Exec(ref Guid pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { int hr; if (!Exclude(pguidCmdGroup, nCmdID)) { try { var inArg = pvaIn.GetObjectForVariant(); object outArg; if (CommandSets.ContainsKey(pguidCmdGroup)) { var commandSet = CommandSets[pguidCmdGroup]; var setName = commandSet.Name; if (commandSet.CmdIds.ContainsKey(nCmdID)) { var cmdName = commandSet.CmdIds[nCmdID]; WriteLine("CommandGroup: {0}\t CommandID: '{1}'\t CommandName: '{2}'\t Options: '{3}'\t Argument: {4}", setName, nCmdID, cmdName, nCmdexecopt, inArg.AsDisplayText()); hr = base.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); outArg = pvaOut.GetObjectForVariant(); WriteLine("CommandGroup: {0}\t CommandID: '{1}'\t CommandName: '{2}'\t Options: '{3}'\t Out Argument: {4}\t hResult: 0x{5:x}", setName, nCmdID, cmdName, nCmdexecopt, outArg.AsDisplayText(), hr); } else { WriteLine("CommandGroup: {0}\t CommandID 0x{1:x}\t Options: {2}\t Argument: {3}", setName, nCmdID, nCmdexecopt, inArg.AsDisplayText()); hr = base.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); outArg = pvaOut.GetObjectForVariant(); WriteLine("CommandGroup: {0}\t CommandID 0x{1:x}\t Options: {2}\t Out Argument: {3}\t hResult: 0x{4:x}", setName, nCmdID, nCmdexecopt, outArg.AsDisplayText(), hr); } } else { WriteLine("CommandGroup: {0}\t CommandID: 0x{1:x}\t Options: {2}\t Argument: {3}", pguidCmdGroup.ToString(), nCmdID, nCmdexecopt, inArg.AsDisplayText()); hr = base.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); outArg = pvaOut.GetObjectForVariant(); WriteLine("CommandGroup: {0}\t CommandID: 0x{1:x}\t Options: {2}\t Out Argument: {3}\t hResult: 0x{4:x}", pguidCmdGroup.ToString(), nCmdID, nCmdexecopt, outArg.AsDisplayText(), hr); } } catch (Exception ex) { WriteLine("Error with OutputGlobalCommandTarget: '{0}'", ex.ToString()); } } hr = base.Exec(ref pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); return(hr); }
void should_return_null_assigned_to_when_my_flag_is_missing() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe(); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Null(searchQuery.AssignedTo); }
void should_return_no_tags_passed_to_search_object() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe(); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(Enumerable.Empty <string>(), searchQuery.Tags); }
void should_return_default_states_when_omitted() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe(); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(new List <string> { "new", "active" }, searchQuery.State); }
void should_return_assigned_to_when_my_flag_is_set() { var workItemStates = CommandSets.WorkItemState(); var workItemTags = CommandSets.WorkItemTags(); var workItemTypeId = CommandSets.WorkItemType(); var myWorkItemOption = CommandSets.WorkItemForMe("flag-set"); var fullName = "7b629a58a898444e837e15827598874c"; A.CallTo(() => vsts.FullName).Returns(fullName); SearchQuery searchQuery = new SearchQuery(vsts, workItemStates, workItemTags, workItemTypeId, myWorkItemOption); Assert.Equal(fullName, searchQuery.AssignedTo); }
public void After(InterceptorAfterEventArgs args) { switch (args.Command._command) { case "GET": if (_iscached == false && args.Exception == null) { var getkey = args.Command.GetKey(0); if (_cscc._options.KeyFilter?.Invoke(getkey) != false) { _cscc.SetCacheValue(args.Command._command, getkey, args.ValueType, args.Value); } } break; case "MGET": if (_iscached == false && args.Exception == null) { if (args.Value is Array valueArr) { var valueArrElementType = args.ValueType.GetElementType(); var sourceArrLen = valueArr.Length; for (var a = 0; a < sourceArrLen; a++) { var getkey = args.Command.GetKey(a); if (_cscc._options.KeyFilter?.Invoke(getkey) != false) { _cscc.SetCacheValue("GET", getkey, valueArrElementType, valueArr.GetValue(a)); } } } } break; default: if (args.Command._keyIndexes.Any()) { var cmdset = CommandSets.Get(args.Command._command); if (cmdset != null && (cmdset.Flag & CommandSets.ServerFlag.write) == CommandSets.ServerFlag.write && (cmdset.Tag & CommandSets.ServerTag.write) == CommandSets.ServerTag.write && (cmdset.Tag & CommandSets.ServerTag.@string) == CommandSets.ServerTag.@string) { _cscc.RemoveCache(args.Command._keyIndexes.Select((item, index) => args.Command.GetKey(index)).ToArray()); } } break; } }
/// <summary> /// Create a command for the BinarySocket /// </summary> /// <param name="commandSet">Select the CommandSet</param> /// <param name="command">Select the Command from the CommandSet</param> /// <param name="writeAccess">Bool to indicate if the command is writing a setting to the unit.</param> public BinaryCommand(CommandSets commandSet, ushort command, bool writeAccess) { WriteAccess = writeAccess; CommandSet = commandSet; Command = command; }
/// <summary> /// Create a command for the BinarySocket /// </summary> /// <param name="commandSet">Select the CommandSet</param> /// <param name="command">Select the Command from the CommandSet</param> public BinaryCommand(CommandSets commandSet, ushort command) { CommandSet = commandSet; Command = command; }
internal bool IsReadOnlyCommand() { var cmdset = CommandSets.Get(_command); return(cmdset != null && ((cmdset.Tag & CommandSets.ServerTag.read) == CommandSets.ServerTag.read || (cmdset.Flag & CommandSets.ServerFlag.@readonly) == CommandSets.ServerFlag.@readonly)); }