Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class ReplicationService

    A server-side service for handling replication requests. The service assumes requests are sent in the format /<context>/<shard>/<action> where

    • context is the servlet context, e.g. REPLICATION_CONTEXT
    • shard is the ID of the shard, e.g. "s1"
    • action is one of ReplicationService.ReplicationAction values
    For example, to check whether there are revision updates for shard "s1" you should send the request: http://host:port/replicate/s1/update.

    Inheritance
    System.Object
    ReplicationService
    Implements
    IReplicationService
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Lucene.Net.Replicator.Http
    Assembly: Lucene.Net.Replicator.dll
    Syntax
    public class ReplicationService : IReplicationService
    Remarks

    This service is written using abstractions over requests and responses which makes it easy to integrate into any hosting framework.

    See the Lucene.Net.Replicator.AspNetCore for an example of an implementation for the AspNetCore Framework.

    This is a Lucene.NET EXPERIMENTAL API, use at your own risk

    Constructors

    | Improve this Doc View Source

    ReplicationService(IReadOnlyDictionary<String, IReplicator>, String)

    Declaration
    public ReplicationService(IReadOnlyDictionary<string, IReplicator> replicators, string context = "/replicate")
    Parameters
    Type Name Description
    System.Collections.Generic.IReadOnlyDictionary<System.String, IReplicator> replicators
    System.String context

    Fields

    | Improve this Doc View Source

    JSON_SERIALIZER_SETTINGS

    Json Serializer Settings to use when serializing and deserializing errors.

    Declaration
    public static readonly JsonSerializerSettings JSON_SERIALIZER_SETTINGS
    Field Value
    Type Description
    Newtonsoft.Json.JsonSerializerSettings
    | Improve this Doc View Source

    REPLICATE_FILENAME_PARAM

    Request parameter name for providing the file's name.

    Declaration
    public const string REPLICATE_FILENAME_PARAM = "filename"
    Field Value
    Type Description
    System.String
    | Improve this Doc View Source

    REPLICATE_SESSION_ID_PARAM

    Request parameter name for providing a session ID.

    Declaration
    public const string REPLICATE_SESSION_ID_PARAM = "sessionid"
    Field Value
    Type Description
    System.String
    | Improve this Doc View Source

    REPLICATE_SOURCE_PARAM

    Request parameter name for providing the file's source.

    Declaration
    public const string REPLICATE_SOURCE_PARAM = "source"
    Field Value
    Type Description
    System.String
    | Improve this Doc View Source

    REPLICATE_VERSION_PARAM

    Request parameter name for providing the revision version.

    Declaration
    public const string REPLICATE_VERSION_PARAM = "version"
    Field Value
    Type Description
    System.String
    | Improve this Doc View Source

    REPLICATION_CONTEXT

    The default context path for the ReplicationService.

    Declaration
    public const string REPLICATION_CONTEXT = "/replicate"
    Field Value
    Type Description
    System.String

    Methods

    | Improve this Doc View Source

    Perform(IReplicationRequest, IReplicationResponse)

    Executes the replication task.

    Declaration
    public virtual void Perform(IReplicationRequest request, IReplicationResponse response)
    Parameters
    Type Name Description
    IReplicationRequest request
    IReplicationResponse response
    Exceptions
    Type Condition
    System.InvalidOperationException

    required parameters are missing

    Implements

    IReplicationService
    • Improve this Doc
    • View Source
    Back to top Copyright © 2021 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.