Example #1
0
        private Subscription SetupSubscription()
        {
            var sub_uri = new ChannelUriStringBuilder()
                          .Reliable(true)
                          .Media("udp")
                          .Endpoint(this.local_address.ToString())
                          .Build();

            return(this.aeron.AddSubscription(sub_uri, ECHO_STREAM_ID));
        }
Example #2
0
        private Publication SetupPublication()
        {
            var pub_uri = new ChannelUriStringBuilder()
                          .Reliable(true)
                          .Media("udp")
                          .Endpoint(this.remote_address.ToString())
                          .Build();

            return(this.aeron.AddPublication(pub_uri, ECHO_STREAM_ID));
        }
Example #3
0
        private Subscription SetupSubscription()
        {
            var sub_uri = new ChannelUriStringBuilder()
                          .Reliable(true)
                          .Media("udp")
                          .Endpoint(this.local_address.ToString())
                          .Build();

            Log?.WriteLine($"subscription URI: {sub_uri}");

            return(this.aeron.AddSubscription(sub_uri, ECHO_STREAM_ID, OnClientConnected, OnClientDisconnected));
        }
Example #4
0
            private void OnReceiveMessageInitial(string message)
            {
                var matcher = HELLO_PATTERN.Match(message);

                if (!matcher.Success)
                {
                    Log?.WriteLine($"client sent malformed HELLO message: {message}");
                    return;
                }

                string n    = matcher.Groups[1].Value;
                int    port = int.Parse(n);

                var source_id = image.SourceIdentity;

                try
                {
                    var source_uri = new Uri("fake://" + source_id);

                    var sb = new StringBuilder();
                    sb.Append(source_uri.Host);
                    sb.Append(":");
                    sb.Append(port);

                    var address = sb.ToString();

                    var pub_uri = new ChannelUriStringBuilder()
                                  .Reliable(true)
                                  .Media("udp")
                                  .Endpoint(address)
                                  .Build();

                    this.publication = this.aeron.AddPublication(pub_uri, ECHO_STREAM_ID);

                    this.state = State.CONNECTED;
                }
                catch (UriFormatException ex)
                {
                    Log?.WriteLine($"UriFormatException Message: {ex.Message}");
                }
            }