internal void AddHandler(TransactionProtocol message, ConnectionParam connection)
        {
            if (string.IsNullOrWhiteSpace(message.Request_id) || string.IsNullOrWhiteSpace(message.Sender_id) ||
                string.IsNullOrWhiteSpace(message.Transaction))
            {
                ErrorHandler(message, connection);
                return;
            }
            var request_storage = RequestStorage.GetInstance();

            request_storage.AddTransaction(message);
            var connection_storage = ConnectionStorage.GetInstance();

            connection_storage.AddConnection(connection, message.Request_id);
        }
Beispiel #2
0
        private void ReceiveDataCallback(IAsyncResult asyncResult)
        {
            ConnectionParam connectionParam = (ConnectionParam)asyncResult.AsyncState;

            try
            {
                SocketError error;
                Socket      sender  = connectionParam.Socket;
                int         msgSize = sender.EndReceive(asyncResult, out error);

                if (error == SocketError.Success)
                {
                    byte[] incomingData = new byte[msgSize];
                    Array.Copy(connectionParam.Context, incomingData, msgSize);


                    ApiManager manager = new ApiManager();

                    manager.GetRooting().RouteRequests(connectionParam);

                    //add API logic
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error while receiving message : " + e.Message);
            }
            finally
            {
                var status = IsConnected(connectionParam.Socket);
                if (status)
                {
                    connectionParam.Socket.BeginReceive(connectionParam.Context, 0, connectionParam.Context.Length
                                                        , SocketFlags.None, ReceiveDataCallback, connectionParam);
                }
                else
                {
                    Console.WriteLine("Deconectarea socketului:" + connectionParam.Address);
                    connectionParam.Socket.Close();

                    //Added ConnectionStorage
                    ConnectionStorage.GetInstance().ExcludeConnection(connectionParam);
                }
            }
        }
Beispiel #3
0
        internal void ResponseHandler(TransactionProtocol message, ConnectionParam connection)
        {
            if (string.IsNullOrWhiteSpace(message.Request_id) || string.IsNullOrWhiteSpace(message.Sender_id) ||
                string.IsNullOrWhiteSpace(message.Message))
            {
                ErrorHandler(message, connection);
                return;
            }
            var sender_connection = ConnectionStorage.GetInstance().GetConnection(message.Request_id);

            if (sender_connection is null)
            {
                ErrorHandler(message, connection);
                return;
            }
            var message_buffer = ConvertToByteArray(message);

            sender_connection.Socket.Send(message_buffer);
        }
Beispiel #4
0
 private void ConfigurationForm_Load(object sender, EventArgs e)
 {
     cStorage = new ConnectionStorage();
     cStorage.LoadConfigurations();
     ShowStoredConfs();
 }
 public void SetUp()
 {
     connectionStorage = new ConnectionStorage();
 }
Beispiel #6
0
 public ConnectionBackgroundService(IQuizDataContext quizDataContext, ConnectionStorage connectionStorage)
 {
     _quizDataContext   = quizDataContext;
     _connectionStorage = connectionStorage;
 }
Beispiel #7
0
 public QuizHub(IQuizDataContext quizDataContext, IHubContext <QuizResultsHub> quizResultsHub, ConnectionStorage connectionStorage)
 {
     _quizDataContext   = quizDataContext;
     _quizResultsHub    = quizResultsHub;
     _connectionStorage = connectionStorage;
 }