protected override IEnumerable <UserInformation> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var repetition in InnerLexer.Read(scanner, context))
     {
         yield return(new UserInformation(repetition));
     }
 }
 protected override IEnumerable <UriReference> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var alternation in InnerLexer.Read(scanner, context))
     {
         yield return(new UriReference(alternation));
     }
 }
Exemple #3
0
 protected override IEnumerable <PathAbsoluteOrEmpty> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var repetition in InnerLexer.Read(scanner, context))
     {
         yield return(new PathAbsoluteOrEmpty(repetition));
     }
 }
 protected override IEnumerable <PathCharacter> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var alternation in InnerLexer.Read(scanner, context))
     {
         yield return(new PathCharacter(alternation));
     }
 }
 protected override IEnumerable <Method> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var token in InnerLexer.Read(scanner, context))
     {
         yield return(new Method(token));
     }
 }
Exemple #6
0
 protected override IEnumerable <BadWhiteSpace> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var optionalWhiteSpace in InnerLexer.Read(scanner, context))
     {
         yield return(new BadWhiteSpace(optionalWhiteSpace));
     }
 }
 protected override IEnumerable <TransferEncoding> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var requiredDelimitedList in InnerLexer.Read(scanner, context))
     {
         yield return(new TransferEncoding(requiredDelimitedList));
     }
 }
 protected override IEnumerable <PathNoScheme> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var concatenation in InnerLexer.Read(scanner, context))
     {
         yield return(new PathNoScheme(concatenation));
     }
 }
Exemple #9
0
 protected override IEnumerable <OptionalDelimitedList> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var repetition in InnerLexer.Read(scanner, context))
     {
         yield return(new OptionalDelimitedList(repetition));
     }
 }
 protected override IEnumerable <AsteriskForm> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var terminal in InnerLexer.Read(scanner, context))
     {
         yield return(new AsteriskForm(terminal));
     }
 }
 protected override IEnumerable <AuthorityForm> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var authority in InnerLexer.Read(scanner, context))
     {
         yield return(new AuthorityForm(authority));
     }
 }
 protected override IEnumerable <Upgrade> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var requiredDelimitedList in InnerLexer.Read(scanner, context))
     {
         yield return(new Upgrade(requiredDelimitedList));
     }
 }
Exemple #13
0
 protected override IEnumerable <LeastSignificantInt32> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var alternation in InnerLexer.Read(scanner, context))
     {
         yield return(new LeastSignificantInt32(alternation));
     }
 }
Exemple #14
0
 protected override IEnumerable <SegmentNonZeroLengthNoColons> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var repetition in InnerLexer.Read(scanner, context))
     {
         yield return(new SegmentNonZeroLengthNoColons(repetition));
     }
 }
Exemple #15
0
 protected override IEnumerable <RelativeReference> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var concatenation in InnerLexer.Read(scanner, context))
     {
         yield return(new RelativeReference(concatenation));
     }
 }
Exemple #16
0
 public ReadImpl(
     [NotNull] Lexer <TElement> lexer,
     [NotNull] ITextScanner scanner,
     [NotNull] ITextContext context)
 {
     this.lexer   = lexer ?? throw new ArgumentNullException(nameof(lexer));
     this.scanner = scanner ?? throw new ArgumentNullException(nameof(scanner));
     this.context = context ?? throw new ArgumentNullException(nameof(context));
 }
 protected override IEnumerable <ContentLength> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var repetition in InnerLexer.Read(scanner, context))
     {
         yield return(new ContentLength(repetition));
     }
 }
Exemple #18
0
 protected override IEnumerable <ReasonPhrase> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var repetition in InnerLexer.Read(scanner, context))
     {
         yield return(new ReasonPhrase(repetition));
     }
 }
Exemple #19
0
 public LexerImpl(
     [NotNull] Lexer <TElement> impl,
     [NotNull] ITextScanner scanner,
     [NotNull] ITextContext context)
 {
     this.impl    = impl;
     this.scanner = scanner;
     this.context = context;
 }
Exemple #20
0
 protected override IEnumerable <IPv6Address> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var alternation in InnerLexer.Read(scanner, context))
     {
         yield return(new IPv6Address(alternation));
     }
 }
Exemple #21
0
 protected override IEnumerable <SubcomponentsDelimiter> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var alternation in InnerLexer.Read(scanner, context))
     {
         yield return(new SubcomponentsDelimiter(alternation));
     }
 }
 protected override IEnumerable <PercentEncoding> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var concatenation in InnerLexer.Read(scanner, context))
     {
         yield return(new PercentEncoding(concatenation));
     }
 }
 protected override IEnumerable <TrailerPart> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var repetition in InnerLexer.Read(scanner, context))
     {
         yield return(new TrailerPart(repetition));
     }
 }
Exemple #24
0
 protected override IEnumerable <TransferCoding> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var alternation in InnerLexer.Read(scanner, context))
     {
         yield return(new TransferCoding(alternation));
     }
 }
Exemple #25
0
 protected override IEnumerable <ProtocolVersion> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var token in InnerLexer.Read(scanner, context))
     {
         yield return(new ProtocolVersion(token));
     }
 }
 protected override IEnumerable <ObsoleteFold> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var concatenation in InnerLexer.Read(scanner, context))
     {
         yield return(new ObsoleteFold(concatenation));
     }
 }
 protected override IEnumerable <RequestTarget> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var alternation in InnerLexer.Read(scanner, context))
     {
         yield return(new RequestTarget(alternation));
     }
 }
Exemple #28
0
 protected override IEnumerable <TransferEncodingCollection> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var optionalDelimitedList in InnerLexer.Read(scanner, context))
     {
         yield return(new TransferEncodingCollection(optionalDelimitedList));
     }
 }
Exemple #29
0
 protected override IEnumerable <Expression> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var concatenation in InnerLexer.Read(scanner, context))
     {
         yield return(new Expression(concatenation));
     }
 }
 protected override IEnumerable <ChunkExtensionName> ReadImpl(
     ITextScanner scanner,
     ITextContext context)
 {
     foreach (var token in InnerLexer.Read(scanner, context))
     {
         yield return(new ChunkExtensionName(token));
     }
 }
        /// <summary>
        /// Creates a new differential synchronization session on an already established
        /// networking connection.
        /// </summary>
        /// <param name="siteId">The <see cref="SiteId">SiteId</see> for this site.</param>
        /// <param name="context">The <see cref="Context">text context</see> to be operate on.</param>
        /// <param name="connection">The connection that is used to communicate with the other site.</param>
        public DifferentialSynchronizationStrategy(int siteId, ITextContext context, IConnection connection)
        {
            SiteId = siteId;
            DiffMatchPatch =  new diff_match_patch();
            Context = context;
            Connection = connection;
            Shadow = new StringTextContext(context.Data);
            TokenRequestSent = false;

            HasChanged = false;

            TokenState = SiteId == 0 ? TokenState.HavingToken : TokenState.WaitingForToken;

            Connection.Received += ConnectionReceived;
            Context.Changed += ContextChanged;
        }
Exemple #32
0
 /// <summary>
 /// Initializes a new instance of the SessionContext class, associated
 /// with the provided ITextContext.
 /// </summary>
 /// <param name="context">The text context this session is associated with.</param>
 public SessionContext(ITextContext context)
 {
     Context = context;
 }