Beispiel #1
0
        public NodeServer(IMessageEncoding messageDecoder)
        {
            Ensure.Argument.IsNotNull(messageDecoder, "messageDecoder");

            this.messageDecoder = messageDecoder;

            this.permission = new SocketPermission(NetworkAccess.Accept, TransportType.Tcp, string.Empty, Config.DefaultPort);
            this.permission.Demand();

            var ipHost    = Dns.Resolve(Dns.GetHostName());
            var ipAddress = ipHost.AddressList[0];

            this.listener = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            this.listener.Bind(new IPEndPoint(ipAddress, Config.DefaultPort));
            this.listener.Listen(5);

            this.incomingMessages = new BlockingCollection <byte[]>();

            Task.Factory.StartNew(() =>
            {
                while (!this.incomingMessages.IsCompleted)
                {
                    foreach (var msg in this.incomingMessages.GetConsumingEnumerable())
                    {
                        this.DecodeMessage(msg);
                    }
                }
            }, TaskCreationOptions.LongRunning);
        }
Beispiel #2
0
 public RelaystateSerialiser(IJsonSerialiser jsonSerialiser, IMessageEncoding encoding, ILogProvider logProvider)
 {
     this._jsonSerialiser = jsonSerialiser;
     this._encoding       = encoding;
     this._logProvider    = logProvider;
     this.DataProtector   = new Kernel.Cryptography.DataProtection.DpapiDataProtector("SSO", "saml", "relaystate");
 }
Beispiel #3
0
        public NodeClient(IMessageEncoding messageEncoder)
        {
            Ensure.Argument.IsNotNull(messageEncoder, "messageDecoder");

            this.messageEncoder = messageEncoder;

            this.permission = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, string.Empty, Config.DefaultPort);
            this.permission.Demand();

            var ipHost    = Dns.Resolve(Dns.GetHostName());
            var ipAddress = ipHost.AddressList[0];

            this.endPoint = new IPEndPoint(ipAddress, Config.DefaultPort);
            this.sender   = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

            this.outgoingMessages = new BlockingCollection <IMessage>();

            this.sender.Connect(this.endPoint);
            //Task.Factory.StartNew(() =>
            //{
            //    while (!this.outgoingMessages.IsCompleted)
            //    {
            //        foreach (var msg in this.outgoingMessages.GetConsumingEnumerable())
            //        {
            //            this.SendMessage(msg);
            //        }
            //    }
            //}, TaskCreationOptions.LongRunning);
        }
 public RequestEncoderBuilder(IMessageEncoding messageEncoding)
 {
     this._messageEncoding = messageEncoding;
 }
Beispiel #5
0
 public AuthnRequestSerialiser(IXmlSerialiser serialiser, IMessageEncoding messageEncoding, ILogProvider logProvider)
 {
     this._serialiser      = serialiser;
     this._messageEncoding = messageEncoding;
     this._logProvider     = logProvider;
 }
Beispiel #6
0
 public RedirectBindingDecoder(ILogProvider logProvider, IMessageEncoding messageEncoding)
 {
     this._messageEncoding = messageEncoding;
     this._logProvider     = logProvider;
 }
Beispiel #7
0
 public RelaystateSerialiser(IJsonSerialiser jsonSerialiser, IMessageEncoding encoding, ILogProvider logProvider)
 {
     this._jsonSerialiser = jsonSerialiser;
     this._encoding       = encoding;
     this._logProvider    = logProvider;
 }