public Game(int gameId, int playerCount, SendHandler sendFunct) { this.gameId = gameId; this.playerCount = playerCount; SendCardToPlayer = sendFunct; switch (playerCount) { case 2: numRounds = 10; break; case 3: numRounds = 9; break; case 4: numRounds = 8; break; case 5: numRounds = 7; break; default: numRounds = 10; break; } }
protected void btnSave_Click(object sender, EventArgs e) { if (ddlProjects.SelectedValue == "") { ShowFailMessageToClient("Please select project."); return; } if (txtName.Text.Trim() == string.Empty) { ShowFailMessageToClient("Please enter title."); return; } EventsView eventModel = ConstructEventsView(); List <EventInviteEntity> inviteList = BuilderInvite(eventModel); List <EventEntity> eventList; //当开始日期和结束日期不是同一天且Repeat为None时,需要处理成Repeat为Every Day、且End为On date,EndDate为选择的结束日期 if (eventModel.ToDay.Date > eventModel.FromDay.Date && eventModel.Repeat == RepeatType.None) { eventModel.Repeat = RepeatType.Every_Day; eventModel.End = EndType.on_date; eventModel.EndDate = eventModel.ToDay; } if (new EventsApplication().AddEvents(eventModel, inviteList, out eventList)) { SendHandler handler = new SendHandler(SendEamil); handler.BeginInvoke(inviteList, eventList, null, null); SendEmail(); Redirect(Request.RawUrl, false, true); } else { ShowFailMessageToClient("Add event Fail."); } }
private static void SendCallBack(IAsyncResult result) { AsyncResult resultObj = (AsyncResult)result; SendHandler sender = (SendHandler)resultObj.AsyncDelegate;//获取原来的委托 sender.EndInvoke(resultObj); }
/// <summary> /// 使用系统邮件模块配置的信息,异步发送邮件(信息配置错误可能导致VS报错) /// </summary> public static MailState Send(MailInfo mailInfo) { MailConfig cfg = SiteConfig.MailConfig; SendHandler sender = null; if (cfg.Port == 25) { sender = SendEmail; } else if (cfg.Port == 465) { sender = SendSSLEmail; } else { throw new Exception("邮件端口[" + cfg.Port + "]配置不正确"); } if (string.IsNullOrEmpty(cfg.MailServerUserName)) { throw new Exception("未配置发送邮箱,取消发送"); } if (string.IsNullOrEmpty(cfg.MailServerPassWord)) { throw new Exception("未配置发送邮箱密码,取消发送"); } sender.BeginInvoke(cfg.MailServerUserName, cfg.MailServerPassWord, cfg.MailServer, mailInfo, "".Split(','), SendCallBack, null); return(MailState.Ok); }
/// <summary> /// save : 1:save ; 2:draft ;3 save and new /// </summary> /// <param name="save"></param> private void SaveTicket(int save) { ProjectsEntity projectsEntity = new ProjectApplication().Get(int.Parse(ddlProject.SelectedValue)); //判断当前日期是否大于Project的End Date if (!projectApplication.CheckIfEstimated(projectsEntity)) { ShowMessageToClient("This project is closed, if you need to submit new tickets for this project, please contact us at [email protected].", 2, false, false); return; } TicketsEntity ticketsEntity = GetEntity(save, projectsEntity.ProjectID, projectsEntity.CompanyID); int result = new TicketsApplication().AddTickets(ticketsEntity); if (result > 0) { AddTicketUsers(projectsEntity, ticketsEntity, result); AddIniHistroy(ticketsEntity); if (!ticketsEntity.IsInternal) { SendHandler handler = new SendHandler(SendEamil); handler.BeginInvoke(ticketsEntity, UserInfo, null, null); } string fileName = hidUploadFile.Value; if (fileName.Trim() != string.Empty) { string[] files = fileName.Split('|'); foreach (string str in files) { InsertFile(str, ticketsEntity.ProjectID, result, ticketsEntity.CompanyID); } } switch (save) { case 1: Redirect("/Ticket/Ongoing.aspx", true); break; case 2: Redirect("/Ticket/Draft.aspx", true); break; case 3: // ShowSuccessMessageToClient("The ticket has been added.", false, false); Redirect("/Ticket/New.aspx?project=" + ddlProject.SelectedValue, true); break; } } else { ShowFailMessageToClient(); } }
public bool Send(byte[] buffer) { if (!this.IsAvaliable()) { return(false); } SendHandler sh = new SendHandler(ServerManager.Send); return(sh.Invoke(this.DtuID, buffer)); // synchronized. }
public bool Asend(byte[] buffer) { if (!this.IsAvaliable()) { return(false); } SendHandler sh = this._server.Send; return(sh.Invoke(this.DtuID, buffer)); // synchronized. }
private void EndSend(IAsyncResult asyncResult) { if (asyncResult == null) { return; } SendHandler handler = (SendHandler)(asyncResult.AsyncState); handler.EndInvoke(asyncResult); }
public void destination_is_required_according_to_the_specification() { var repos = Substitute.For <IQueueRepository>(); var client = Substitute.For <IStompClient>(); var msg = new BasicFrame("SEND"); var handler = new SendHandler(repos); Action actual = () => handler.Process(client, msg); actual.ShouldThrow <BadRequestException>(); }
public void registerIOHandler(byte port, ReceiveHandler rcv, SendHandler snd) { if (rcv != null) { m_INHandler.Add(port, rcv); } if (snd != null) { m_OUTHandler.Add(port, snd); } }
public static void SendWebHttpRequestFullAsync(String url, String verb, String requestJson, AsyncCallback callBack) { WebRequest wr = WebRequest.Create(url); wr.ContentType = "text/plain"; wr.Method = verb; wr.Timeout = 10000; SendHandler handler = new SendHandler(SendRequest); handler.BeginInvoke(wr, requestJson, callBack, wr); }
public MOS6522(string Designation, CPU8Bit cpu, UInt16 BaseAddress) { m_Designation = Designation; cpu.registerMemoryAccess(BaseAddress, (UInt16)(BaseAddress + 0x0F), read, write); m_sendOutputA = null; m_sendOutputB = null; m_sendInterrupt = null; reset(); }
protected void btn_Click(object sender, EventArgs e) { SendHandler handler = new SendHandler(SendEamil); handler.BeginInvoke(null, null); Response.Redirect("/SunnetTicket/MyTicket.aspx"); Izl zl = new B(); zl.start(); Ipb pb = zl as Ipb; pb.jasu(); }
public void content_length_is_required_if_a_body_is_present() { var repos = Substitute.For <IQueueRepository>(); var client = Substitute.For <IStompClient>(); var msg = new BasicFrame("SEND"); msg.Headers["destination"] = "/queue/momas"; msg.Headers["content-type"] = "text/plain"; msg.Body = new MemoryStream(); var handler = new SendHandler(repos); Action actual = () => handler.Process(client, msg); actual.ShouldThrow <BadRequestException>(); }
public IAsyncResult BeginSend(string subject, string body, string from, List <string> attachmentList, List <string> toList, List <string> ccList, List <string> bccList) { SendHandler handler = new SendHandler(Send); IAsyncResult asyncResult = null; try { asyncResult = handler.BeginInvoke(subject, body, from, attachmentList, toList, ccList, bccList, EndSend, handler); } catch (Exception exception) { logger.Error("Mail Send Exception:", exception); } return(asyncResult); }
public void enlist_transaction_messages() { var repos = Substitute.For <IQueueRepository>(); var client = Substitute.For <IStompClient>(); var msg = new BasicFrame("SEND"); msg.Headers["destination"] = "/queue/momas"; msg.Headers["transaction"] = "10"; var handler = new SendHandler(repos); var actual = handler.Process(client, msg); actual.Should().BeNull(); client.Received().EnqueueInTransaction("10", Arg.Any <Action>(), Arg.Any <Action>()); }
public void copy_all_unknown_headers() { var repos = Substitute.For <IQueueRepository>(); var client = Substitute.For <IStompClient>(); var msg = new BasicFrame("SEND"); msg.Headers["destination"] = "/queue/momas"; msg.Headers["feck"] = "fock"; msg.Headers["fack"] = "fick"; var handler = new SendHandler(repos); var actual = handler.Process(client, msg); actual.Headers["feck"].Should().Be("fock"); actual.Headers["fack"].Should().Be("fick"); }
public BgwProtocol(Circuit circuit, ReadOnlyCollection <int> pIds, AsyncParty e, Zp pInput, SendHandler send, StateKey stateKey) : base(e, pIds, pInput, send, stateKey) { Debug.Assert(circuit.InputCount == pIds.Count); Circuit = circuit; Prime = pInput.Prime; // to get the maximum polynomial degree, we should ask if there is a MUL in the circuit // Mahdi: This is probably valid only when we assume a reliable broadcast channel. //PolynomialDeg = circuit.MultipleContained ? (NumEntities - 1) / 2 : NumEntities - 1; // Mahdi: Changed to the following since n/3 - 1 of players can be dishonest. // degree = n - t, where t is the number of dishonest players PolynomialDeg = (int)Math.Floor(2 * NumParties / 3.0); }
public void message_with_content_should_be_copied() { var repos = Substitute.For <IQueueRepository>(); var client = Substitute.For <IStompClient>(); var msg = new BasicFrame("SEND"); msg.Headers["destination"] = "/queue/momas"; msg.Headers["content-type"] = "text/plain"; msg.Headers["content-length"] = "100"; msg.Body = new MemoryStream(new byte[100], 0, 100); var handler = new SendHandler(repos); var actual = handler.Process(client, msg); actual.Body.Should().NotBeNull(); actual.Body.Length.Should().Be(100); actual.Body.Position.Should().Be(0); actual.Headers["content-length"].Should().Be("100"); actual.Headers["content-type"].Should().Be("text/plain"); }
public virtual void Send(uint packetId, object packet) { var cancel = SendHandler.HandlePacket(packetId, packet)?.Cancel ?? false; if (cancel) { return; } var ds = new DataStream { IsLittleEndian = false }; var ok = PacketsRegistry.Serialize(packetId, ds, packet); if (ok) { Send(packetId, ds); SendCompleteHandler.HandlePacket(packetId, packet); } else { Log.Error("Try to send unknown packet {0}", packetId); } }
/// <summary> /// 异步发送邮件,并将发送记录备份 /// </summary> /// <param name="model">邮件信息模型</param> /// <param name="dataDT">不为空则对每个模板格式化后再发送</param> public static void SendAsync(M_EMail_Item model) { B_EMail_Item itemBll = new B_EMail_Item(); MailConfig cfg = SiteConfig.MailConfig; SendHandler sender = null; try { if (string.IsNullOrEmpty(model.FromEmail)) { model.FromEmail = cfg.MailServerUserName; } if (string.IsNullOrEmpty(model.FromName)) { model.FromName = SiteConfig.SiteInfo.Webmaster; } if (cfg.Port == 25) { sender = SendEmail; } else if (cfg.Port == 465) { sender = SendSSLEmail; } else { throw new Exception("邮件端口[" + cfg.Port + "]配置不正确"); } if (string.IsNullOrEmpty(cfg.MailServerUserName)) { throw new Exception("未配置发送邮箱,取消发送"); } if (string.IsNullOrEmpty(cfg.MailServerPassWord)) { throw new Exception("未配置发送邮箱密码,取消发送"); } model.Result = 1; model.Error = ""; } catch (Exception ex) { model.Result = -1; model.Error = ex.Message; return; } model.ID = itemBll.Insert(model); //----------------发送邮件(单个发送) string[] emails = model.ToAddress.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); string mailBody = model.MailBody; for (int i = 0; i < emails.Length; i++) { M_EMail_Item mailMod = new M_EMail_Item() { ID = model.ID, ToAddress = emails[i], Subject = model.Subject, MailBody = mailBody, FromName = model.FromName, FromEmail = model.FromEmail, Attachment = model.Attachment }; //如果不需要每次循环时编译,应该在上层处理好再传入 if (mailMod.C_NeedTranslate) { DataRow dr = null; if (model.C_DataDT != null && model.C_DataDT.Rows.Count > i) { dr = model.C_DataDT.Rows[i]; } mailMod.MailBody = TlpDeal(mailBody, dr); } sender.BeginInvoke(cfg.MailServerUserName, cfg.MailServerPassWord, cfg.MailServer , mailMod, SendCallBack, null); } }
protected virtual void ConnectWork() { try { if (_Url != null) { bool isMulticastOrBroadcast = false; int port = 0; Uri uri = new Uri(_Url); port = uri.Port; var addresses = Dns.GetHostAddresses(uri.DnsSafeHost); if (addresses != null && addresses.Length > 0) { var address = addresses[0]; if (address.AddressFamily == AddressFamily.InterNetwork) { if (address.Equals(IPAddress.Broadcast)) { isMulticastOrBroadcast = true; } else { var firstb = address.GetAddressBytes()[0]; if (firstb >= 224 && firstb < 240) { isMulticastOrBroadcast = true; } } } else if (address.AddressFamily == AddressFamily.InterNetworkV6) { if (address.IsIPv6Multicast) { isMulticastOrBroadcast = true; } } _Socket = new Socket(address.AddressFamily, SocketType.Dgram, ProtocolType.Udp); if (isMulticastOrBroadcast) { _Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true); if (address.AddressFamily == AddressFamily.InterNetworkV6) { #if NET_STANDARD_2_0 || NET_4_6 // Notice: it is a pitty that unity does not support ipv6 multicast. (Unity 5.6) _Socket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.AddMembership, new IPv6MulticastOption(address)); _Socket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.MulticastTimeToLive, 5); #endif _Socket.Bind(new IPEndPoint(IPAddress.IPv6Any, 0)); } else { if (!address.Equals(IPAddress.Broadcast)) { _Socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(address, IPAddress.Any)); _Socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, 5); } _Socket.Bind(new IPEndPoint(IPAddress.Any, 0)); } _BroadcastEP = new IPEndPoint(address, port); } else { _Socket.Connect(address, port); } } } if (_Socket != null) { if (_PreStart != null) { _PreStart(this); } byte[] receivebuffer = new byte[CONST.MTU]; int receivecnt = 0; EndPoint broadcastRespEP; if (_BroadcastEP != null && _BroadcastEP.AddressFamily == AddressFamily.InterNetworkV6) { broadcastRespEP = new IPEndPoint(IPAddress.IPv6Any, 0); } else { broadcastRespEP = new IPEndPoint(IPAddress.Any, 0); } Action BeginReceive = () => { if (_BroadcastEP != null) { _Socket.BeginReceiveFrom(receivebuffer, 0, CONST.MTU, SocketFlags.None, ref broadcastRespEP, ar => { try { receivecnt = _Socket.EndReceiveFrom(ar, ref broadcastRespEP); } catch (Exception e) { if (IsConnectionAlive) { _ConnectWorkCanceled = true; PlatDependant.LogError(e); } } _HaveDataToSend.Set(); }, null); } else { _Socket.BeginReceive(receivebuffer, 0, CONST.MTU, SocketFlags.None, ar => { try { receivecnt = _Socket.EndReceive(ar); } catch (Exception e) { if (IsConnectionAlive) { _ConnectWorkCanceled = true; PlatDependant.LogError(e); } } _HaveDataToSend.Set(); }, null); } }; if (_OnReceive != null) { BeginReceive(); } while (!_ConnectWorkCanceled) { if (_OnReceive != null) { if (receivecnt > 0) { if (_BroadcastEP != null && _WaitForBroadcastResp) { _OnReceive(receivebuffer, receivecnt, broadcastRespEP); receivecnt = 0; BeginReceive(); } else { if (_BroadcastEP != null) { _Socket.Connect(broadcastRespEP); _BroadcastEP = null; } _OnReceive(receivebuffer, receivecnt, _Socket.RemoteEndPoint); receivecnt = 0; BeginReceive(); } } } if (!HoldSending) { BufferInfo binfo; while (_PendingSendMessages.TryDequeue(out binfo)) { var message = binfo.Buffer; int cnt = binfo.Count; if (_OnSend != null && _OnSend(message, cnt)) { if (_OnSendComplete != null) { _OnSendComplete(message, true); } } else { SendRaw(message, cnt, success => { if (_OnSendComplete != null) { _OnSendComplete(message, success); } }); } } } if (_OnUpdate != null) { _OnUpdate(this); } var waitinterval = _UpdateInterval; var easeratio = _EaseUpdateRatio; if (waitinterval > 0 && easeratio > 0) { var easeinterval = waitinterval * easeratio; if (_LastSendTick + easeinterval <= System.Environment.TickCount) { waitinterval = easeinterval; } } _HaveDataToSend.WaitOne(waitinterval); } } } catch (ThreadAbortException) { Thread.ResetAbort(); } catch (Exception e) { PlatDependant.LogError(e); } finally { _ConnectWorkRunning = false; _ConnectWorkCanceled = false; if (_PreDispose != null) { _PreDispose(this); } if (_Socket != null) { _Socket.Close(); _Socket = null; } // set handlers to null. _OnReceive = null; _OnSend = null; _OnSendComplete = null; _OnUpdate = null; _PreDispose = null; } }
protected virtual void ConnectWork() { try { PrepareSocket(); if (_Socket != null) { byte[] receivebuffer = new byte[CONST.MTU]; int receivecnt = 0; Action BeginReceive = () => { _Socket.BeginReceive(receivebuffer, 0, 1, SocketFlags.None, ar => { try { receivecnt = _Socket.EndReceive(ar); if (receivecnt > 0) { var bytesRemaining = _Socket.Available; if (bytesRemaining > 0) { if (bytesRemaining > CONST.MTU - 1) { bytesRemaining = CONST.MTU - 1; } receivecnt += _Socket.Receive(receivebuffer, 1, bytesRemaining, SocketFlags.None); } } else { if (_ConnectWorkRunning) { _ConnectWorkCanceled = true; } } } catch (Exception e) { if (IsConnectionAlive) { _ConnectWorkCanceled = true; PlatDependant.LogError(e); } } _HaveDataToSend.Set(); }, null); }; BeginReceive(); while (!_ConnectWorkCanceled) { if (receivecnt > 0) { if (_OnReceive != null) { _OnReceive(receivebuffer, receivecnt, _Socket.RemoteEndPoint); } receivecnt = 0; BeginReceive(); } BufferInfo binfo; while (_PendingSendMessages.TryDequeue(out binfo)) { var message = binfo.Buffer; int cnt = binfo.Count; if (_OnSend != null && _OnSend(message, cnt)) { if (_OnSendComplete != null) { _OnSendComplete(message, true); } } else { SendRaw(message, cnt, success => { if (_OnSendComplete != null) { _OnSendComplete(message, success); } }); } } _HaveDataToSend.WaitOne(); } _Socket.Shutdown(SocketShutdown.Both); } } catch (ThreadAbortException) { Thread.ResetAbort(); } catch (Exception e) { PlatDependant.LogError(e); } finally { _ConnectWorkRunning = false; _ConnectWorkCanceled = false; if (_PreDispose != null) { _PreDispose(this); } if (_Socket != null) { _Socket.Close(); _Socket = null; } // set handlers to null. _OnReceive = null; _OnSend = null; _OnSendComplete = null; _PreDispose = null; } }
public void SendTuple(Tuple tuple) { string routing = ((Replica)(this.Send.Target)).routing(); tuple.sent = true; if (routing.Contains("primary")) { //Console.WriteLine("Routing: primary"); int repl_id = -1; Boolean success = false; while (!success) { repl_id++; try { if (this.Send.GetInvocationList().Length - 1 < repl_id) { return; } SendHandler send = (SendHandler)Array.Find(this.Send.GetInvocationList(), r => ((Replica)(r.Target)).id == repl_id); send(this, (EventArgs)tuple); success = true; if (op.last) { tuple.origin.ack(tuple); } } catch (Exception) { if (semantics.Contains("at-most-once")) { return; } Console.WriteLine("Failed to send tuple to replica " + repl_id); Console.WriteLine("Trying to send tuple to replica " + (repl_id++) + "..."); success = false; } } } else if (routing.Contains("hashing")) { int field_index = Int32.Parse(routing.Split('(')[1].Split(')')[0]); //Console.WriteLine("Routing: hashing(" + field + ")"); string field_value = tuple.Get(field_index); MD5 md5Hasher = MD5.Create(); byte[] hashed = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(field_value)); int hash = BitConverter.ToInt32(hashed, 0); List <SendHandler> handlers = new List <SendHandler>(); foreach (Delegate handler in this.Send.GetInvocationList()) { handlers.Add((SendHandler)handler); } Boolean success = false; int index = -1; while (!success) { try { if (handlers.Count == 0) { return; } index = hash % handlers.Count; SendHandler send = handlers[index]; send(this, (EventArgs)tuple); success = true; } catch (Exception) { if (semantics.Contains("at-most-once")) { return; } if (index == -1) { return; } Console.WriteLine("Failed to send tuple to replica " + index); handlers.RemoveAt(index); Console.WriteLine("Trying to send to another random replica..."); } } } else if (routing.Contains("random")) { //Console.WriteLine("Routing: random"); List <SendHandler> handlers = new List <SendHandler>(); foreach (Delegate handler in this.Send.GetInvocationList()) { handlers.Add((SendHandler)handler); } Boolean success = false; int index = -1; while (!success) { try { if (handlers.Count == 0) { return; } index = new Random().Next(0, handlers.Count); SendHandler send = handlers[index]; send(this, (EventArgs)tuple); success = true; } catch (Exception) { if (semantics.Contains("at-most-once")) { return; } Console.WriteLine("Failed to send tuple to replica " + index); if (index == -1) { return; } handlers.RemoveAt(index); Console.WriteLine("Trying to send to another random replica..."); } } } try { tuple.father.origin.ack(tuple.father); } catch (Exception) { Console.WriteLine("Cannot sent ack!"); } sent_tuples[tuple.id] = tuple; }
private void Send_Click(object sender, EventArgs e) { if (urlTxt.Text.Length != 0) { try { //string s = HTTPHelper.SendWebHttpRequest(urlTxt.Text.Trim(), comboBox1.Text, jasonInput.Text); //jasonOutput.Text = s; //for (int i = 0; i < 100; i++) //{ // HTTPHelper.SendWebHttpRequestAsync(urlTxt.Text.Trim(), comboBox1.Text, jasonInput.Text, (wr) => // { // //MessageBox.Show("now threadID:" + System.Threading.Thread.CurrentThread.ManagedThreadId); // Console.WriteLine("now threadID:" + System.Threading.Thread.CurrentThread.ManagedThreadId); // //System.Threading.Thread.Sleep(100); // if (wr != null) // { // if (wr != null) // { // using (var httpResp = (HttpWebResponse)wr.GetResponse()) // { // if (httpResp.StatusCode == HttpStatusCode.BadRequest) // { // var buff = new byte[httpResp.ContentLength]; // using (var response = httpResp.GetResponseStream()) // { // if (response != null) // { // response.Read(buff, 0, (int)httpResp.ContentLength); // } // } // throw new InvalidOperationException( // string.Format("Some error occurred while sending request to Elasticsearch.{0}{1}", // Environment.NewLine, Encoding.UTF8.GetString(buff))); // } // else // { // using (var sr = new StreamReader(httpResp.GetResponseStream(), Encoding.UTF8)) // { // string s = sr.ReadToEnd(); // //Console.WriteLine(s); // jasonOutput.Text = s; // } // } // } // } // } // }); //} for (int i = 0; i < 10000; i++) { HTTPHelper.SendWebHttpRequestFullAsync(urlTxt.Text.Trim(), comboBox1.Text, jasonInput.Text, delegate(IAsyncResult ar) { Console.WriteLine("CallBack threadID:" + System.Threading.Thread.CurrentThread.ManagedThreadId); if (ar == null) { return; } CallBacks.WebRequestCallBacks(ar, new MyProcess()); AsyncResult arr = ar as AsyncResult; SendHandler handler = arr.AsyncDelegate as SendHandler; handler.EndInvoke(ar); }); Console.WriteLine("III threadID:" + System.Threading.Thread.CurrentThread.ManagedThreadId); } } catch (Exception ex) { jasonOutput.Text = ex.ToString(); } finally { } } }