private async Task IfCAllbackQuery(CallbackQuery callbackQuery) { var callbackNotNullAndIsNotFromBot = callbackQuery != null && !callbackQuery.From.IsBot; if (!(callbackNotNullAndIsNotFromBot && callbackQuery.Message != null)) { _logger.LogWarning($"Time: {DateTime.UtcNow}. Some problems with CallbackQuery obj: " + callbackQuery); return; } var answerCallback = new AnswerCallback(callbackQuery, _unitOfWorkFactory, _client); switch (callbackQuery.Data.Split("/")[0]) { case "Search": await answerCallback.Search(); break; case "Cancel": await answerCallback.Cancel(); break; case "CancelAll": await answerCallback.Cancel(); break; } }
public int DancingLinks(bool justOne, AnswerCallback cb) { ansCallback = cb; IntPtr callback = Marshal.GetFunctionPointerForDelegate(new SudokuLib.AnswerCallback(DancingCallback)); return(SudokuLib.DancingLinks(matrix, (byte)(justOne ? 1 : 0), callback, IntPtr.Zero)); }
public void Send <TRequest, TReply>(TRequest request, AnswerCallback <TRequest, TReply> callback, LetterOptions options = LetterOptions.None) { Guid conversationId = Guid.NewGuid(); ILetter letter = CreateLetter(request, options, conversationId); var outstanding = new DelegateOutstanding <TRequest, TReply>(this, request, callback); _outstandings.Add(conversationId, outstanding); _socket.Send(letter); }
/* PUBLIC METHODS: */ public Session( Configuration config_, AnswerCallback answerCallback_) { m_config = config_; m_serializer = new Serializer(m_config.schemadir, m_config.schemaext); m_connection = new Connection( m_config); m_lasterror = null; m_state = State.Init; m_stateLock = new object(); m_requestqueue = new WorkQueue<Request>('R'); m_pendingqueue = new WorkQueue<PendingRequest>('A'); m_answerCallback = answerCallback_; m_request_thread = null; m_answer_thread = null; }
/* PUBLIC METHODS: */ public Session( Configuration config_, AnswerCallback answerCallback_) { m_config = config_; m_serializer = new Serializer(m_config.schemadir, m_config.schemaext); m_connection = new Connection( m_config); m_lasterror = null; m_state = State.Init; m_stateLock = new object(); m_requestqueue = new WorkQueue<Request>('R'); m_pendingqueue = new WorkQueue<PendingRequest>('A'); m_answerCallback = answerCallback_; m_request_thread = null; m_answer_thread = null; }
internal void Answer <TRequest, TReply>(TRequest value, AbstractAnswerable answerable, LetterOptions options, AnswerCallback <TRequest, TReply> callback) { ILetter letter = CreateLetter(value, options | LetterOptions.Ack, answerable.ConversationId); var outstanding = new DelegateOutstanding <TRequest, TReply>(this, value, callback); _outstandings.Add(answerable.ConversationId, outstanding); _socket.SendTo(letter, answerable.RemoteNodeId); }