// ============= Internal Threads ================= void InternalUpdate() { List <EndPoint> toRemove = new List <EndPoint>(); while (state == State.Bound) { toRemove.Clear(); foreach (Connection conn in Connections.Values()) { if (conn.LastSeen.AddSeconds(MaxTimeout) < DateTime.Now) { Send(conn.Conn, SignatureMessage.disconnectSigMes); OnDisconnect?.Invoke(conn); toRemove.Add(conn.Conn); } } for (int i = 0; i < toRemove.Count; ++i) { Connections.Remove(toRemove[i]); } Thread.Sleep(1000); #if SLEEPY_STATS stats.Flush(); #endif } }
/// <summary> /// Register the specified binding. /// </summary> /// <param name="binding">Binding.</param> internal void Register(BindingKey bindingKey) { if (!bindingKey.IsMember && !bindingKey.IsImplicit) { implicitTypeLookup.Remove(bindingKey); AddImplicitTypes(bindingKey, GetImplicitTypes(bindingKey)); } }
internal void Rollback(int ID) { _log.Debug("ROLLBACK"); // rollback all views with tran id foreach (var v in _views) { v.Value.RollBack(ID); } _transactions.Remove(ID); }
/// <summary> /// 移出道具 /// </summary> /// <param name="item"></param> public bool RemoveSubItem(long lItemSlot) { if (lItemSlot > this.MaxSlot || lItemSlot < this.MinSlot) { return(false); } T itemT = FindSubItemAtSlot(lItemSlot); if (itemT == null) { return(false); } if (m_BaseItemContainerState != null) { if (m_BaseItemContainerState.OnRemovingSubItem(itemT, this) == true) { return(false); } } m_ToteSubItems.Remove(lItemSlot); itemT.SlotId = BaseItem.SlotNotSet; m_BaseItemContainerState.IsUpdateRemoveSubItemCall = true; if (m_BaseItemContainerState != null) { m_BaseItemContainerState.OnRemovedSubItem(itemT, this); } return(true); }
/// <summary> /// 移出道具 /// </summary> /// <param name="item"></param> public bool RemoveMailBox(long iMailBoxSerial) { T mailBoxT = FindMailBoxOnSerial(iMailBoxSerial); if (mailBoxT == null) { return(false); } EventHandler <BeforeRemoveMailBoxCallEventArgs <T, V> > tempBeforeEventArgs = m_ThreadEventBeforeRemoveMailBoxCall; if (tempBeforeEventArgs != null) { BeforeRemoveMailBoxCallEventArgs <T, V> eventArgs = new BeforeRemoveMailBoxCallEventArgs <T, V>(mailBoxT, this); tempBeforeEventArgs(this, eventArgs); if (eventArgs.IsCancel == true) { return(false); } } m_MailBoxs.Remove(iMailBoxSerial); EventHandler <AfterRemoveMailBoxCallEventArgs <T, V> > tempAfterEventArgs = m_ThreadEventAfterRemoveMailBoxCall; if (tempAfterEventArgs != null) { AfterRemoveMailBoxCallEventArgs <T, V> eventArgs = new AfterRemoveMailBoxCallEventArgs <T, V>(mailBoxT, this); tempAfterEventArgs(this, eventArgs); } return(true); }
/// <summary> /// /// </summary> /// <returns></returns> public bool RemoveSpell(long lSpellSerial) { T spellT = FindSpellOnSerial(lSpellSerial); if (spellT == null) { return(false); } EventHandler <BeforeRemoveSpellCallEventArgs <T> > tempBeforeEventArgs = m_ThreadEventBeforeRemoveSpellCall; if (tempBeforeEventArgs != null) { BeforeRemoveSpellCallEventArgs <T> eventArgs = new BeforeRemoveSpellCallEventArgs <T>(spellT, this); tempBeforeEventArgs(this, eventArgs); if (eventArgs.IsCancel == true) { return(false); } } m_Spells.Remove(lSpellSerial); EventHandler <AfterRemoveSpellCallEventArgs <T> > tempAfterEventArgs = m_ThreadEventAfterRemoveSpellCall; if (tempAfterEventArgs != null) { AfterRemoveSpellCallEventArgs <T> eventArgs = new AfterRemoveSpellCallEventArgs <T>(spellT, this); tempAfterEventArgs(this, eventArgs); } return(true); }
public bool Complete(T req, bool isError) { if (loadingGroupRes.ContainsKey(req)) { loadingGroupRes.Remove(req); RemoveProgress(req); loadedCount++; if (m_OnComplete != null) { m_OnComplete(req, isError); } else { OnComplete(req, isError); } DispatchOnProgress(); } // Debug.LogFormat("i={0},totalCount={1},loadedCount={2},IsDown={3},req={4},isErr={5}",i,totalCount,loadedCount,IsDown,req,isError); if (IsDown) { DispatchOnComplete(); } return(true); // return i >= 0; }
private IResolver BindExplicit <BType, CType>(BindingKey bindingKey, IBindingConfig bindingConfig) where BType : class where CType : class, BType { lock (syncLock) { IResolver oldResolver; if (allResolvers.TryGetValue(bindingKey, out oldResolver)) { if (bindingKey.IsImplicit) { // Handle edge case where 2 thread auto-register same implicit // binding via 'ResolveBinding'. More complex to add guard within // ResolveBinding() than here. return(oldResolver); } allResolvers.Remove(bindingKey); } // Add after create resolver var resolver = CreateResolverInstance <BType, CType> (bindingKey, bindingConfig); // Register Implicits implicitBindingResolver.Register(bindingKey); return(resolver); } }
public static string GetIp(string host) { string ip = string.Empty; bool refresh = false; System.DateTime time = System.DateTime.Now; if (cacheTime.TryGetValue(host, out time)) { double dt = (System.DateTime.Now - time).TotalSeconds; if (dt >= DnsCacheTimeOutSecond) // dns cache time out { refresh = true; } else if (cacheDns.TryGetValue(host, out ip) && string.IsNullOrEmpty(ip) && dt >= DnsRequestTimeOutSecond) //dns request time out { refresh = true; } if (refresh) { cacheDns.Remove(host); } } if (!cacheDns.TryGetValue(host, out ip)) { cacheDns[host] = string.Empty; //标记为已经开始加载 Debug.LogFormat("http dns {0}", host); RequestHttpDnsIP(host); cacheTime[host] = System.DateTime.Now; } return(ip); }
/// <summary> /// /// </summary> /// <returns></returns> public bool RemoveAura(long lAuraSerial) { T auraT = FindAuraOnSerial(lAuraSerial); if (auraT == null) { return(false); } EventHandler <BeforeRemoveAuraCallEventArgs <T> > tempBeforeEventArgs = m_ThreadEventBeforeRemoveAuraCall; if (tempBeforeEventArgs != null) { BeforeRemoveAuraCallEventArgs <T> eventArgs = new BeforeRemoveAuraCallEventArgs <T>(auraT, this); tempBeforeEventArgs(this, eventArgs); if (eventArgs.IsCancel == true) { return(false); } } m_Auras.Remove(lAuraSerial); EventHandler <AfterRemoveAuraCallEventArgs <T> > tempAfterEventArgs = m_ThreadEventAfterRemoveAuraCall; if (tempAfterEventArgs != null) { AfterRemoveAuraCallEventArgs <T> eventArgs = new AfterRemoveAuraCallEventArgs <T>(auraT, this); tempAfterEventArgs(this, eventArgs); } return(true); }
/// <summary> /// 在好友的集合内删除某好友 /// </summary> /// <param name="iMapID"></param> public bool RemoveGroup(Serial creatureSerial) { if (base.Deleted == true) { return(false); } BaseCreature baseCreature = FindGroupOnSerial(creatureSerial); if (baseCreature == null) { return(false); } if (m_BaseCreatureState != null) { if (m_BaseCreatureState.OnRemovingGroup(baseCreature, this) == true) { return(false); } } m_BaseCreaturesGroup.Remove(creatureSerial); m_BaseCreatureState.IsRemoveGroupCall = true; if (m_BaseCreatureState != null) { m_BaseCreatureState.OnRemovedGroup(baseCreature, this); } return(true); }
public void RemoveSubBot(SubBot subBot, Bot bot) { lock (subBots) { subBots.Remove(subBot.ToString()); } }
/// <summary> /// 移出道具 /// </summary> /// <param name="item"></param> public bool RemoveItem(Serial itemSerial) { if (base.Deleted == true) { return(false); } BaseItem item = FindItemOnSerial(itemSerial); if (item == null) { return(false); } if (m_BaseCreatureState != null) { if (m_BaseCreatureState.OnRemovingItem(item, this) == true) { return(false); } } m_ToteItems.Remove(itemSerial); m_BaseCreatureState.IsRemoveItemCall = true; if (m_BaseCreatureState != null) { m_BaseCreatureState.OnRemovedItem(item, this); } return(true); }
/// <summary> /// 在好友的集合内删除某好友 /// </summary> /// <param name="iCreatureSerial"></param> public bool RemoveFriend(Serial creatureSerial) { if (base.Deleted == true) { return(false); } BaseCreature baseCreature = FindFriendOnSerial(creatureSerial); if (baseCreature == null) { return(false); } if (m_BaseCreatureState != null) { if (m_BaseCreatureState.OnRemovingFriend(baseCreature, this) == true) { return(false); } } m_BaseCreaturesFriend.Remove(creatureSerial); m_BaseCreatureState.IsRemoveFriendCall = true; if (m_BaseCreatureState != null) { m_BaseCreatureState.OnRemovedFriend(baseCreature, this); } return(true); }
public void RemoveFile(string path) { if (filesMod.ContainsKey(path)) { filesMod.Remove(path); } }
/// <summary> /// /// </summary> /// <param name="baseMobile"></param> public void OnLeave(BaseCharacter character) { if (m_MapSpaceNodeState != null) { m_MapSpaceNodeState.OnLeavingMapSpaceNode(character, this); } m_Players.Remove(character); if (this.PlayersCount == 0 && m_SpaceNodeState != SpaceNodeState.Deactivate) { // 如果游戏玩家的列表是空的话,则无效区域点,说明此区域点玩家不存在 m_LockSpaceNodeState.Enter(); { if (this.PlayersCount == 0 && m_SpaceNodeState != SpaceNodeState.Deactivate) { m_SpaceNodeState = SpaceNodeState.Deactivate; this.OnDeactivate(); } } m_LockSpaceNodeState.Exit(); } if (m_MapSpaceNodeState != null) { m_MapSpaceNodeState.OnLeavedMapSpaceNode(character, this); } }
/// <summary> /// 移出道具 /// </summary> /// <param name="item"></param> public bool RemoveGuildMember(long iGuildMemberSerial) { T guildMemberT = FindGuildMemberOnSerial(iGuildMemberSerial); if (guildMemberT == null) { return(false); } EventHandler <BeforeRemoveGuildMemberCallEventArgs <T> > tempBeforeEventArgs = m_ThreadEventBeforeRemoveGuildMemberCall; if (tempBeforeEventArgs != null) { BeforeRemoveGuildMemberCallEventArgs <T> eventArgs = new BeforeRemoveGuildMemberCallEventArgs <T>(guildMemberT, this); tempBeforeEventArgs(this, eventArgs); if (eventArgs.IsCancel == true) { return(false); } } m_GuildMembers.Remove(iGuildMemberSerial); EventHandler <AfterRemoveGuildMemberCallEventArgs <T> > tempAfterEventArgs = m_ThreadEventAfterRemoveGuildMemberCall; if (tempAfterEventArgs != null) { AfterRemoveGuildMemberCallEventArgs <T> eventArgs = new AfterRemoveGuildMemberCallEventArgs <T>(guildMemberT, this); tempAfterEventArgs(this, eventArgs); } return(true); }
/// <summary> /// 移出道具 /// </summary> /// <param name="item"></param> public bool RemoveMailMessage(long lMailMessageId) { T mailMessageT = FindMailMessageOnId(lMailMessageId); if (mailMessageT == null) { return(false); } EventHandler <BeforeRemoveMailMessageCallEventArgs <T> > tempBeforeEventArgs = m_ThreadEventBeforeRemoveMailMessageCall; if (tempBeforeEventArgs != null) { BeforeRemoveMailMessageCallEventArgs <T> eventArgs = new BeforeRemoveMailMessageCallEventArgs <T>(mailMessageT, this); tempBeforeEventArgs(this, eventArgs); if (eventArgs.IsCancel == true) { return(false); } } m_MailMessages.Remove(lMailMessageId); EventHandler <AfterRemoveMailMessageCallEventArgs <T> > tempAfterEventArgs = m_ThreadEventAfterRemoveMailMessageCall; if (tempAfterEventArgs != null) { AfterRemoveMailMessageCallEventArgs <T> eventArgs = new AfterRemoveMailMessageCallEventArgs <T>(mailMessageT, this); tempAfterEventArgs(this, eventArgs); } return(true); }
/// <summary> /// 在好友的集合内删除某好友 /// </summary> /// <param name="iMapID"></param> public bool RemoveParty(Serial creatureSerial) { if (base.Deleted == true) { return(false); } BaseCreature baseCreature = FindPartyOnSerial(creatureSerial); if (baseCreature == null) { return(false); } if (m_BaseCreatureState != null) { if (m_BaseCreatureState.OnRemovingParty(baseCreature, this) == true) { return(false); } } m_BaseCreaturesParty.Remove(creatureSerial); m_BaseCreatureState.IsRemovePartyCall = true; if (m_BaseCreatureState != null) { m_BaseCreatureState.OnRemovedParty(baseCreature, this); } return(true); }
/// <summary> /// /// </summary> /// <returns></returns> public bool RemoveTalent(long lTalentSerial) { T talentT = FindTalentOnSerial(lTalentSerial); if (talentT == null) { return(false); } EventHandler <BeforeRemoveTalentCallEventArgs <T> > tempBeforeEventArgs = m_ThreadEventBeforeRemoveTalentCall; if (tempBeforeEventArgs != null) { BeforeRemoveTalentCallEventArgs <T> eventArgs = new BeforeRemoveTalentCallEventArgs <T>(talentT, this); tempBeforeEventArgs(this, eventArgs); if (eventArgs.IsCancel == true) { return(false); } } m_Talents.Remove(lTalentSerial); EventHandler <AfterRemoveTalentCallEventArgs <T> > tempAfterEventArgs = m_ThreadEventAfterRemoveTalentCall; if (tempAfterEventArgs != null) { AfterRemoveTalentCallEventArgs <T> eventArgs = new AfterRemoveTalentCallEventArgs <T>(talentT, this); tempAfterEventArgs(this, eventArgs); } return(true); }
/// <summary> /// 移除触发器事件 /// </summary> public void RemoveTriggerEvent(long lTriggerEventSerial) { TriggerEvent triggerEvent = m_TriggerEvents.GetValue(lTriggerEventSerial); if (triggerEvent == null) { return; } triggerEvent.Serial = Serial.MinusOne; triggerEvent.TriggerSystem = null; m_ExclusiveSerial.ReleaseSerial(lTriggerEventSerial); m_TriggerEvents.Remove(lTriggerEventSerial); }
/// <summary> /// 移出道具 /// </summary> /// <param name="item"></param> public bool RemoveChildItem(long lItemSerial) { if (base.Deleted == true) { return(false); } BaseItem removeChildItem = FindChildItemOnSerial(lItemSerial); if (removeChildItem == null) { return(false); } if (m_BaseItemState != null) { if (m_BaseItemState.OnRemovingChildItem(removeChildItem, this) == true) { return(false); } } m_ChildItems.Remove(lItemSerial); m_BaseItemState.IsUpdateRemoveChildItemCall = true; if (m_BaseItemState != null) { m_BaseItemState.OnRemovedChildItem(removeChildItem, this); } return(true); }
/// <summary> /// /// </summary> /// <returns></returns> public bool RemoveReputation(long lReputationSerial) { T reputationT = FindReputationOnSerial(lReputationSerial); if (reputationT == null) { return(false); } EventHandler <BeforeRemoveReputationCallEventArgs <T> > tempBeforeEventArgs = m_ThreadEventBeforeRemoveReputationCall; if (tempBeforeEventArgs != null) { BeforeRemoveReputationCallEventArgs <T> eventArgs = new BeforeRemoveReputationCallEventArgs <T>(reputationT, this); tempBeforeEventArgs(this, eventArgs); if (eventArgs.IsCancel == true) { return(false); } } m_Reputations.Remove(lReputationSerial); EventHandler <AfterRemoveReputationCallEventArgs <T> > tempAfterEventArgs = m_ThreadEventAfterRemoveReputationCall; if (tempAfterEventArgs != null) { AfterRemoveReputationCallEventArgs <T> eventArgs = new AfterRemoveReputationCallEventArgs <T>(reputationT, this); tempAfterEventArgs(this, eventArgs); } return(true); }
// public void test() // { // Views.View v = new Views.View(); // v.SchemaColumns = new ViewRowDefinition(); // v.Name = "test"; // v.FireOnTypes = new List<string>(); // v.FireOnTypes.Add("BizFX.Entity.Return, BizFX.Entity, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e5d192f5e46064af"); // v.SchemaColumns.Columns.Add("Name", DataTypes.String); // v.SchemaColumns.Columns.Add("BirthDay", DataTypes.DateTime); // v.SchemaColumns.Columns.Add("Address", DataTypes.String); // v.SchemaColumns.Columns.Add("Code", DataTypes.Int); // v.MapFunctionCode = @" //List<object[]> q = api.Query(""someview"",""a=1"",0, -1); //foreach(object[] rr in q) //{ // testRow r = new testRow(rr); // emit(data.GUID, r.Name, r.BirthDay, r.Address, r.Code*2); //} //if(data.IsOK) // emit(data.GUID, ""ppp"",DateTime.Now,""hello"",123); //else // api.Log(""error""); //"; // //v.SchemaColumns = v.Name; // //v.ViewsUsed = new List<Views.ViewRowDefinition>(); // //v.ViewsUsed.Add(v.SchemaColumns); // Compile(v,"RaptorDB\\Views\\"); // } #region [ M A P C O M P I L E R ] public void Compile(Views.ViewBase view, string mapfolder) { Directory.CreateDirectory(mapfolder); CodeDomProvider cs = CodeDomProvider.CreateProvider("CSharp"); var _Parameters = new CompilerParameters(); // create source file string code = CreateSourceFile(view, _Parameters); // Compile code _Parameters.IncludeDebugInformation = false; _Parameters.GenerateExecutable = false; _Parameters.CompilerOptions = "/optimize"; _Parameters.OutputAssembly = mapfolder + view.Name + //DocID.ToString().Replace("-", "") + ".dll"; var compilerresult = cs.CompileAssemblyFromSource(_Parameters, code); if (compilerresult.Errors.HasErrors) { foreach (var p in compilerresult.Errors) { _log.Error(p.ToString()); } } else { _mapcache.Remove(mapfolder + view.Name + ".dll"); } }
/// <summary> ///Remove 的测试 ///</summary> public void RemoveTestHelper <KeyT, ValueT>() { SafeDictionary <KeyT, ValueT> target = new SafeDictionary <KeyT, ValueT>(); // TODO: 初始化为适当的值 KeyT key = default(KeyT); // TODO: 初始化为适当的值 target.Remove(key); Assert.Inconclusive("无法验证不返回值的方法。"); }
private void EraseValue(Thread thread) { if (Volatile.Read(ref _disposing) == 1) { throw new ObjectDisposedException(GetType().FullName); } _slots.Remove(thread); }
internal void Commit(int ID) { tran_data data = null; // save data to indexes if (_transactions.TryGetValue(ID, out data)) { // delete any items with docid in view if (_view.DeleteBeforeInsert) { DeleteRowsWith(data.docid); } SaveAndIndex(data.rows); } // remove in memory data _transactions.Remove(ID); }
private Resolver <CType> BindExplicit <BType, CType>() where BType : class where CType : class, BType { lock (syncLock) { Type bindType = typeof(BType); implicitTypeLookup.Remove(bindType); allResolvers.Remove(bindType); // Add after create resolver var resolver = CreateResolverInstanceGeneric <BType, CType> (false); AddImplicitTypes(bindType, GetImplicitTypes(bindType)); ClearDependentResolvers(bindType); return((Resolver <CType>)resolver); } }
internal bool RemovePet(uint PetId) { isUpdated = false; ServerMessage RemoveMessage = new ServerMessage(604); RemoveMessage.AppendUInt(PetId); GetClient().SendMessage(RemoveMessage); InventoryPets.Remove(PetId); return(true); }
/// <summary> /// 移除响应触发器的智能体组 /// </summary> public void RemoveTriggerAgents(TriggerAgents triggerAgents) { if (triggerAgents.TriggerSystem != this) { Debug.WriteLine("TriggerSystem.AddTriggerAgents(...) - triggerAgents.TriggerSystem != this error!"); return; } triggerAgents.TriggerSystem = null; m_TriggerAgents.Remove(triggerAgents); }
private void CancelExtracted(bool throwOnFirstException, SafeDictionary<CancellationTokenRegistration, Action> callbacks) { if (Interlocked.CompareExchange(ref _cancelRequested, 1, 0) == 0) { _handle.Set(); UnregisterLinkedTokens(); List<Exception> exceptions = null; try { int id = _currentId; do { Action callback; if (callbacks.Remove(new CancellationTokenRegistration(id, this), out callback) && callback != null) { if (throwOnFirstException) { callback(); } else { try { callback(); } catch (Exception exception) { if (ReferenceEquals(exceptions, null)) { exceptions = new List<Exception>(); } exceptions.Add(exception); } } } } while (id-- != int.MinValue); } finally { callbacks.Clear(); } if (exceptions != null) { throw new AggregateException(exceptions); } } }
/// <summary> /// Tries to load the referenced assemblies. /// </summary> /// <param name="inputAssemblies">Assemblies</param> private void TryLoadReferencedAssemblies(Assembly[] inputAssemblies) { var ws = new SafeDictionary<string, Assembly>(); foreach (Assembly a in inputAssemblies) { if (a == null) { continue; } // recursively load all the assemblies reachables from the root! if (!Assemblies.ContainsKey( a.GetName().FullName) && !ws.ContainsKey(a.GetName().FullName)) { ws.Add(a.GetName().FullName, a); } while (ws.Count > 0) { var en = ws.Keys.GetEnumerator(); en.MoveNext(); var a_name = en.Current; var a_assembly = ws[a_name]; Assemblies.Add(a_name, a_assembly); ws.Remove(a_name); foreach (AssemblyName name in a_assembly.GetReferencedAssemblies()) { Assembly b; ExtendedReflection.Utilities.ReflectionHelper.TryLoadAssembly(name.FullName, out b); if (b != null) { if (!Assemblies.ContainsKey(b.GetName().FullName) && !ws.ContainsKey(b.GetName().FullName)) { ws.Add(b.GetName().FullName, b); } } } } } }
/// <summary> /// 'Borrowed' from Sitecore.Xml.Xsl.ImageRenderer /// </summary> /// <param name="values"></param> /// <param name="keys"></param> /// <returns></returns> private static string Extract(SafeDictionary<string> values, params string[] keys) { Assert.ArgumentNotNull((object)values, "values"); Assert.ArgumentNotNull((object)keys, "keys"); foreach (string key in keys) { string str = values[key]; if (str != null) { values.Remove(key); return str; } } return (string)null; }