private void SendSuccessReponse(Stream output)
        {
            NetworkResults response = NetworkResults.Success;
            NetworkMessanger <NetworkResults> messanger = new NetworkMessanger <NetworkResults>(response);

            messanger.SendToStream(output);
        }
Пример #2
0
        public async Task ProcessRequest(Stream input, Stream output)
        {
            isInitialized.CheckIfFulfills("RepositoryDispatcher", "initialized", true);

            await Task.Run(() =>
            {
                Message message = NetworkMessanger <Message> .Recieve(input);
                ValidateMessage(message);

                Type requestedType     = GetEntityType(message);
                List <Entity> entities = GetEntities(message.Parameter.Value, requestedType);
                SendEntities(entities, output);
            });
        }
Пример #3
0
        /// <summary>
        /// Sends declared type instance and recieves result.
        /// </summary>
        /// <param name="serverPort"></param>
        /// <param name="serverIP"></param>
        /// <returns></returns>
        public async Task <NetworkResults> Send(string serverPort, string serverIP)
        {
            using (StreamSocket socket = new StreamSocket())
            {
                HostName serverHost = new HostName(serverIP);
                await socket.ConnectAsync(serverHost, serverPort);

                SendToStream(socket.OutputStream.AsStreamForWrite());

                NetworkResults response = NetworkMessanger <NetworkResults> .Recieve(socket.InputStream.AsStreamForRead());

                return(response);
            }
        }
Пример #4
0
        /// <summary>
        /// Sends declared type instance and recieves another type instance declared in method.
        /// </summary>
        /// <typeparam name="RecievieType"></typeparam>
        /// <param name="serverPort"></param>
        /// <param name="serverIP"></param>
        /// <returns></returns>
        public async Task <RecievieType> SendAndRecieve <RecievieType>(string serverPort, string serverIP)
        {
            using (StreamSocket socket = new StreamSocket())
            {
                HostName serverHost = new HostName(serverIP);
                await socket.ConnectAsync(serverHost, serverPort);

                SendToStream(socket.OutputStream.AsStreamForWrite());

                RecievieType responseInstance = NetworkMessanger <RecievieType> .Recieve(socket.InputStream.AsStreamForRead());

                return(responseInstance);
            }
        }
        public async Task ProcessRequest(Stream input, Stream output)
        {
            isInitialized.CheckIfFulfills("CommandDispatcher", "initialized", true);

            Message message = NetworkMessanger <Message> .Recieve(input);

            switch (message.Section)
            {
            case "OutputDevice":
                await ManageOutputDevice(message);

                break;

            case "Video":
                await MenageVideo(message);

                break;

            default:
                throw new Exception($"Section type not supported. { Logger.GetExceptionLocalization(this) }");
            }

            SendSuccessReponse(output);
        }
Пример #6
0
        private void SendEntities(List <Entity> entities, Stream output)
        {
            NetworkMessanger <List <Entity> > messanger = new NetworkMessanger <List <Entity> >(entities);

            messanger.SendToStream(output);
        }