Beispiel #1
0
 private void InitializeInstanceFields()
 {
     _supportedApplicationProtocol  = new ApplicationSupportedProtocols(_applicationProtocolIdentifier, emptyList());
     _applicationProtocolRepository = new ApplicationProtocolRepository(TestProtocols_TestApplicationProtocols.values(), _supportedApplicationProtocol);
     _modifierProtocolRepository    = new ModifierProtocolRepository(TestProtocols_TestModifierProtocols.values(), _supportedModifierProtocols);
     _expectedApplicationProtocol   = _applicationProtocolRepository.select(_applicationProtocolIdentifier.canonicalName(), _raftVersion).get();
 }
Beispiel #2
0
 internal Parameters(ApplicationSupportedProtocols clientApplicationProtocol, ApplicationSupportedProtocols serverApplicationProtocol, ICollection <ModifierSupportedProtocols> clientModifierProtocols, ICollection <ModifierSupportedProtocols> serverModifierProtocols, Protocol_ApplicationProtocol expectedApplicationProtocol, Protocol_ModifierProtocol[] expectedModifierProtocols)
 {
     this.ClientModifierProtocols     = clientModifierProtocols;
     this.ClientApplicationProtocol   = clientApplicationProtocol;
     this.ServerApplicationProtocol   = serverApplicationProtocol;
     this.ServerModifierProtocols     = serverModifierProtocols;
     this.ExpectedApplicationProtocol = expectedApplicationProtocol;
     this.ExpectedModifierProtocols   = expectedModifierProtocols;
 }
Beispiel #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldMutuallySupportNothingIfParametersEmpty()
        public virtual void ShouldMutuallySupportNothingIfParametersEmpty()
        {
            // given
            ApplicationSupportedProtocols supportedProtocols = new ApplicationSupportedProtocols(RAFT, Arrays.asList(1, 2));

            // when
            ISet <int> mutuallySupported = supportedProtocols.MutuallySupportedVersionsFor(emptySet());

            // then
            assertThat(mutuallySupported, empty());
        }
Beispiel #4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldMutuallySupportParameterIfEmptyVersions()
        public virtual void ShouldMutuallySupportParameterIfEmptyVersions()
        {
            // given
            ApplicationSupportedProtocols supportedProtocols = new ApplicationSupportedProtocols(RAFT, emptyList());

            // when
            ISet <int> mutuallySupported = supportedProtocols.MutuallySupportedVersionsFor(Iterators.asSet(7, 8));

            // then
            assertThat(mutuallySupported, containsInAnyOrder(7, 8));
        }
Beispiel #5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldMutuallySupportIntersectionOfParameterVersionsSubset()
        public virtual void ShouldMutuallySupportIntersectionOfParameterVersionsSubset()
        {
            // given
            ApplicationSupportedProtocols supportedProtocols = new ApplicationSupportedProtocols(RAFT, Arrays.asList(4, 5, 6));

            // when
            ISet <int> mutuallySupported = supportedProtocols.MutuallySupportedVersionsFor(Iterators.asSet(4, 5));

            // then
            assertThat(mutuallySupported, containsInAnyOrder(4, 5));
        }
Beispiel #6
0
        private void SendProtocolRequests(Channel channel, ApplicationSupportedProtocols applicationProtocols, ICollection <ModifierSupportedProtocols> supportedModifierProtocols)
        {
            supportedModifierProtocols.forEach(modifierProtocol =>
            {
                ProtocolSelection <string, ModifierProtocol> protocolSelection = _modifierProtocolRepository.getAll(modifierProtocol.identifier(), modifierProtocol.versions());
                channel.Write(new ModifierProtocolRequest(protocolSelection.Identifier(), protocolSelection.Versions()));
            });

            ProtocolSelection <int, Protocol_ApplicationProtocol> applicationProtocolSelection = _applicationProtocolRepository.getAll(applicationProtocols.Identifier(), applicationProtocols.Versions());

            channel.WriteAndFlush(new ApplicationProtocolRequest(applicationProtocolSelection.Identifier(), applicationProtocolSelection.Versions()));
        }
Beispiel #7
0
        public virtual CompletableFuture <ProtocolStack> Initiate(Channel channel, ApplicationProtocolRepository applicationProtocolRepository, ModifierProtocolRepository modifierProtocolRepository)
        {
            this._channel = channel;

            this._applicationProtocolRepository = applicationProtocolRepository;
            this._supportedApplicationProtocol  = applicationProtocolRepository.SupportedProtocol();

            this._modifierProtocolRepository = modifierProtocolRepository;
            this._supportedModifierProtocols = modifierProtocolRepository.SupportedProtocols();

            _negotiatedModifierProtocols = new List <Pair <string, Optional <Protocol_ModifierProtocol> > >(_supportedModifierProtocols.Count);

            channel.Write(InitialMagicMessage.Instance());

            SendProtocolRequests(channel, _supportedApplicationProtocol, _supportedModifierProtocols);

            return(_future);
        }
Beispiel #8
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Parameterized.Parameters public static java.util.Collection<Parameters> data()
        public static ICollection <Parameters> Data()
        {
            // Application protocols
            ApplicationSupportedProtocols allRaft          = new ApplicationSupportedProtocols(RAFT, TestProtocols_TestApplicationProtocols.listVersionsOf(RAFT));
            ApplicationSupportedProtocols raft1            = new ApplicationSupportedProtocols(RAFT, singletonList(RAFT_1.implementation()));
            ApplicationSupportedProtocols allRaftByDefault = new ApplicationSupportedProtocols(RAFT, emptyList());

            // Modifier protocols
            ICollection <ModifierSupportedProtocols> allModifiers = asList(new ModifierSupportedProtocols(COMPRESSION, TestProtocols_TestModifierProtocols.listVersionsOf(COMPRESSION)), new ModifierSupportedProtocols(GRATUITOUS_OBFUSCATION, TestProtocols_TestModifierProtocols.listVersionsOf(GRATUITOUS_OBFUSCATION))
                                                                           );
            ICollection <ModifierSupportedProtocols> allCompressionModifiers          = singletonList(new ModifierSupportedProtocols(COMPRESSION, TestProtocols_TestModifierProtocols.listVersionsOf(COMPRESSION)));
            ICollection <ModifierSupportedProtocols> allObfuscationModifiers          = singletonList(new ModifierSupportedProtocols(GRATUITOUS_OBFUSCATION, TestProtocols_TestModifierProtocols.listVersionsOf(GRATUITOUS_OBFUSCATION)));
            ICollection <ModifierSupportedProtocols> allCompressionModifiersByDefault = singletonList(new ModifierSupportedProtocols(COMPRESSION, emptyList()));

            IList <ModifierSupportedProtocols> onlyLzoCompressionModifiers    = singletonList(new ModifierSupportedProtocols(COMPRESSION, singletonList(LZO.implementation())));
            IList <ModifierSupportedProtocols> onlySnappyCompressionModifiers = singletonList(new ModifierSupportedProtocols(COMPRESSION, singletonList(SNAPPY.implementation())));

            ICollection <ModifierSupportedProtocols> noModifiers = emptyList();

            // Ordered modifier protocols
            ModifierProtocolRepository modifierProtocolRepository = new ModifierProtocolRepository(TestProtocols_TestModifierProtocols.values(), allModifiers);

            string[] lzoFirstVersions = new string[] { LZO.implementation(), LZ4.implementation(), SNAPPY.implementation() };
            IList <ModifierSupportedProtocols> lzoFirstCompressionModifiers = singletonList(new ModifierSupportedProtocols(COMPRESSION, new IList <string> {
                lzoFirstVersions
            }));
            Protocol_ModifierProtocol preferredLzoFirstCompressionModifier = modifierProtocolRepository.Select(COMPRESSION.canonicalName(), asSet(lzoFirstVersions)).get();

            string[] snappyFirstVersions = new string[] { SNAPPY.implementation(), LZ4.implementation(), LZO.implementation() };
            IList <ModifierSupportedProtocols> snappyFirstCompressionModifiers = singletonList(new ModifierSupportedProtocols(COMPRESSION, new IList <string> {
                snappyFirstVersions
            }));
            Protocol_ModifierProtocol preferredSnappyFirstCompressionModifier = modifierProtocolRepository.Select(COMPRESSION.canonicalName(), asSet(snappyFirstVersions)).get();

            return(asList(new Parameters(allRaft, allRaft, allModifiers, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION), TestProtocols_TestModifierProtocols.latest(GRATUITOUS_OBFUSCATION) }), new Parameters(allRaft, allRaftByDefault, allModifiers, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION), TestProtocols_TestModifierProtocols.latest(GRATUITOUS_OBFUSCATION) }), new Parameters(allRaftByDefault, allRaft, allModifiers, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION), TestProtocols_TestModifierProtocols.latest(GRATUITOUS_OBFUSCATION) }), new Parameters(allRaft, raft1, allModifiers, allModifiers, RAFT_1, new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION), TestProtocols_TestModifierProtocols.latest(GRATUITOUS_OBFUSCATION) }), new Parameters(raft1, allRaft, allModifiers, allModifiers, RAFT_1, new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION), TestProtocols_TestModifierProtocols.latest(GRATUITOUS_OBFUSCATION) }), new Parameters(allRaft, allRaft, allModifiers, allCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION) }), new Parameters(allRaft, allRaft, allCompressionModifiers, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION) }), new Parameters(allRaft, allRaft, allModifiers, allCompressionModifiersByDefault, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION) }), new Parameters(allRaft, allRaft, allCompressionModifiersByDefault, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(COMPRESSION) }), new Parameters(allRaft, allRaft, allModifiers, allObfuscationModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(GRATUITOUS_OBFUSCATION) }), new Parameters(allRaft, allRaft, allObfuscationModifiers, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.latest(GRATUITOUS_OBFUSCATION) }), new Parameters(allRaft, allRaft, allModifiers, lzoFirstCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { LZO }), new Parameters(allRaft, allRaft, lzoFirstCompressionModifiers, allCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { preferredLzoFirstCompressionModifier }), new Parameters(allRaft, allRaft, allModifiers, snappyFirstCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { SNAPPY }), new Parameters(allRaft, allRaft, snappyFirstCompressionModifiers, allCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { preferredSnappyFirstCompressionModifier }), new Parameters(allRaft, allRaft, allModifiers, onlyLzoCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.LZO }), new Parameters(allRaft, allRaft, onlyLzoCompressionModifiers, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] { TestProtocols_TestModifierProtocols.LZO }), new Parameters(allRaft, allRaft, onlySnappyCompressionModifiers, onlyLzoCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] {}), new Parameters(allRaft, allRaft, onlyLzoCompressionModifiers, onlySnappyCompressionModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] {}), new Parameters(allRaft, allRaft, allModifiers, noModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] {}), new Parameters(allRaft, allRaft, noModifiers, allModifiers, TestProtocols_TestApplicationProtocols.latest(RAFT), new Protocol_ModifierProtocol[] {})
                          ));
        }
Beispiel #9
0
 internal Parameters(string name, ApplicationSupportedProtocols applicationSupportedProtocol, ICollection <ModifierSupportedProtocols> modifierSupportedProtocols)
 {
     this.Name = name;
     this.ApplicationSupportedProtocol = applicationSupportedProtocol;
     this.ModifierSupportedProtocols   = modifierSupportedProtocols;
 }
Beispiel #10
0
 public ApplicationProtocolRepository(Org.Neo4j.causalclustering.protocol.Protocol_ApplicationProtocol[] protocols, ApplicationSupportedProtocols supportedProtocol) : base(protocols, ignored->VersionNumberComparator(), ApplicationProtocolSelection::new)