Changeset 1687


Ignore:
Timestamp:
Jun 22, 2010, 3:28:34 PM (11 years ago)
Author:
Matthäus Wander
Message:

updated pap dlls (x86 only)

override-bad-extension: Bootstrapper.pdb
override-bad-extension: CertServices.pdb
override-bad-extension: FullMeshDHT.pdb
override-bad-extension: FullMeshOverlay.pdb
override-bad-extension: Gears4Net.pdb
override-bad-extension: LinkManager.pdb
override-bad-extension: log4net.pdb
override-bad-extension: PeersAtPlayBase.pdb
override-bad-extension: RUDP.pdb
override-bad-extension: Stun.pdb
override-bad-extension: Util.pdb

Location:
trunk/AppReferences/x86
Files:
11 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/AppReferences/x86/LinkManager.xml

    r1672 r1687  
    55    </assembly>
    66    <members>
    7         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.#ctor(PeersAtPlay.P2PLink.LinkAddress,PeersAtPlay.P2PLink.LinkAddress,System.Net.IPEndPoint,PeersAtPlay.P2PLink.TransportProtocol,System.Boolean)">
    8             <summary>
    9            
    10             </summary>
    11             <param name="localAddress"></param>
    12             <param name="remoteAddress"></param>
    13             <param name="remoteIPEndPoint"></param>
    14             <param name="transportProtocol"></param>
    15             <param name="isIncoming"></param>
    16         </member>
    17         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.Send(PeersAtPlay.P2PLink.LinkMessage)">
    18             <summary>
    19             Send a message to communication partner
    20             </summary>
    21             <param name="message"></param>
    22         </member>
    23         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.Close">
    24             <summary>
    25             Closing this link
    26             </summary>
    27         </member>
    28         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.ForceQuit">
    29             <summary>
    30             Force close
    31             </summary>
    32         </member>
    33         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.ToString">
    34             <summary>
    35             Return the string representaion of the current link state
    36             </summary>
    37             <returns>string representaion of the current link state</returns>
    38         </member>
    39         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.OnCloseMessage(Gears4Net.AbstractStateMachine,PeersAtPlay.P2PLink.SimpleSnalNG.Link.CloseMesseage)">
    40             <summary>
    41             Local close message
    42             </summary>
    43             <param name="stateMachine"></param>
    44             <param name="closeMsg"></param>
    45             <returns></returns>
     7        <member name="T:PeersAtPlay.P2PLink.SnalNG.Settings">
     8            <summary>
     9            SnalNG Settings
     10            </summary>
     11        </member>
     12        <member name="M:PeersAtPlay.P2PLink.SnalNG.Settings.LoadDefaults">
     13            <summary>
     14            Set all settings to default value
     15            </summary>
     16        </member>
     17        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PeerAliveIntervalBasic">
     18            <summary>
     19           
     20            </summary>
     21        </member>
     22        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PeerAliveIntervalDetail">
     23            <summary>
     24           
     25            </summary>
     26        </member>
     27        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PeerAliveIntervalFirst">
     28            <summary>
     29           
     30            </summary>
     31        </member>
     32        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PingIntervalFirst">
     33            <summary>
     34           
     35            </summary>
     36        </member>
     37        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PingInterval">
     38            <summary>
     39           
     40            </summary>
     41        </member>
     42        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.UseOnlyOneThread">
     43            <summary>
     44            All Gears4Net parts using the same thread
     45            </summary>
     46        </member>
     47        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.FragmentMessageSize">
     48            <summary>
     49           
     50            </summary>
     51        </member>
     52        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MaxNumberOfConcurrentMessageSending">
     53            <summary>
     54           
     55            </summary>
     56        </member>
     57        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.FragmentMessages">
     58            <summary>
     59           
     60            </summary>
     61        </member>
     62        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.NumberOfAutoReconnects">
     63            <summary>
     64           
     65            </summary>
     66        </member>
     67        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.TransportProtocolTimeout">
     68            <summary>
     69           
     70            </summary>
     71        </member>
     72        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MessageResponseTimeout">
     73            <summary>
     74           
     75            </summary>
     76        </member>
     77        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.HandleRequestNodesTimeout">
     78            <summary>
     79           
     80            </summary>
     81        </member>
     82        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.DirectConnectionEstablishemtTimeout">
     83            <summary>
     84           
     85            </summary>
     86        </member>
     87        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.RelayingConnectionEstablishemtTimeout">
     88            <summary>
     89           
     90            </summary>
     91        </member>
     92        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.HolepunchRetries">
     93            <summary>
     94           
     95            </summary>
     96        </member>
     97        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.RequestNodesTimeout">
     98            <summary>
     99           
     100            </summary>
     101        </member>
     102        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.LocalReceivingPort">
     103            <summary>
     104           
     105            </summary>
     106        </member>
     107        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.TransportProtocol">
     108            <summary>
     109            Set the used transport protocol
     110            </summary>
     111        </member>
     112        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.ConnectInternal">
     113            <summary>
     114            Tries to establish a connection with remote partner on the internal address
     115            </summary>
     116        </member>
     117        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.CloseConnectionAfterPingTimeout">
     118            <summary>
     119            Send detailed connection information to the network monitor server
     120            </summary>
     121        </member>
     122        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.UseLocalAddressDetection">
     123            <summary>
     124            Using a local address only. This make the P2PLinkManager working without a network connection!
     125            </summary>
     126        </member>
     127        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.StartMFBTypeDetectionServer">
     128            <summary>
     129            Start a MFBTypeDetectionServer if possible
     130            </summary>
     131        </member>
     132        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MFBTypeDetectionServerPort1">
     133            <summary>
     134            First port for the MFBTypeDetectionServer
     135            </summary>
     136        </member>
     137        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MFBTypeDetectionServerPort2">
     138            <summary>
     139            Second port for the MFBTypeDetectionServer
     140            </summary>
     141        </member>
     142        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.ReuseAddress">
     143            <summary>
     144            Using always the same port for incoming and outgoing connections
     145            </summary>
     146        </member>
     147        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.NoDelay">
     148            <summary>
     149            Socket option (using Nagle or not)
     150            </summary>
     151        </member>
     152        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.UseNetworkMonitorServer">
     153            <summary>
     154            Send information to the network monitor server
     155            </summary>
     156        </member>
     157        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.SendDetailedConnectionInformation">
     158            <summary>
     159            Send detailed connection information to the network monitor server
     160            </summary>
     161        </member>
     162        <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.SendConnectionStatusChangedDirectly">
     163            <summary>
     164            Send detailed connection information to the network monitor server
     165            </summary>
    46166        </member>
    47167        <member name="T:PeersAtPlay.P2PLink.SimpleSnalNG.Snal">
     
    102222            Debug feature!
    103223            </summary>
    104         </member>
    105         <member name="T:PeersAtPlay.P2PLink.SimpleSnalNG.Settings">
    106             <summary>
    107             SimpleSnalNG Settings
    108             </summary>
    109         </member>
    110         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.LoadDefaults">
    111             <summary>
    112             Set all settings to default value
    113             </summary>
    114         </member>
    115         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.PeerAliveIntervalBasic">
    116             <summary>
    117            
    118             </summary>
    119         </member>
    120         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.PeerAliveIntervalDetail">
    121             <summary>
    122            
    123             </summary>
    124         </member>
    125         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.PeerAliveIntervalFirst">
    126             <summary>
    127            
    128             </summary>
    129         </member>
    130         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.UseOnlyOneThread">
    131             <summary>
    132             All Gears4Net parts using the same thread
    133             </summary>
    134         </member>
    135         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.ConnectionEstablishemtTimeout">
    136             <summary>
    137            
    138             </summary>
    139         </member>
    140         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.LocalReceivingPort">
    141             <summary>
    142            
    143             </summary>
    144         </member>
    145         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.TransportProtocol">
    146             <summary>
    147             Set the used transport protocol
    148             </summary>
    149         </member>
    150         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.UseLocalAddressDetection">
    151             <summary>
    152             Using a local address only. This make the P2PLinkManager working without a network connection!
    153             </summary>
    154         </member>
    155         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.StartMFBTypeDetectionServer">
    156             <summary>
    157             Start a MFBTypeDetectionServer if possible
    158             </summary>
    159         </member>
    160         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.MFBTypeDetectionServerPort1">
    161             <summary>
    162             First port for the MFBTypeDetectionServer
    163             </summary>
    164         </member>
    165         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.MFBTypeDetectionServerPort2">
    166             <summary>
    167             Second port for the MFBTypeDetectionServer
    168             </summary>
    169         </member>
    170         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.ReuseAddress">
    171             <summary>
    172             Using always the same port for incoming and outgoing connections
    173             </summary>
    174         </member>
    175         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.NoDelay">
    176             <summary>
    177             Socket option (using Nagle or not)
    178             </summary>
    179         </member>
    180         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.UseNetworkMonitorServer">
    181             <summary>
    182             Send information to the network monitor server
    183             </summary>
    184         </member>
    185         <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.SendDetailedConnectionInformation">
    186             <summary>
    187             Send detailed connection information to the network monitor server
    188             </summary>
    189         </member>
    190         <member name="T:PeersAtPlay.Networking.Security.RSAAuthentication">
    191             <summary>
    192             This object is available in every SNALConnection. It is instantiated with users
    193             private and public key and will generate a session key.
    194            
    195             - De/Encrypt
    196             - Hybrid cryptography
    197             </summary>
    198         </member>
    199         <member name="T:PeersAtPlay.Networking.Security.AbstractAuthentication">
    200             <summary>
    201             Abstract class which should be implemented by all authentication models. The class
    202             RSAAuthentication is given as an example. This class contains all variables, proper-
    203             ties and methods that are used by SNALConnections for secure communication.
    204             </summary>
    205         </member>
    206         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.myCertificate">
    207             <summary>
    208             Your own certificate containing your public key
    209             </summary>
    210         </member>
    211         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.externalCertificate">
    212             <summary>
    213             External certificate containing external public key received as byte array
    214             </summary>
    215         </member>
    216         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.encAlg">
    217             <summary>
    218             Stores which encryption algorythm should be used for symmetric encryption
    219             </summary>
    220         </member>
    221         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.ownSessionKey">
    222             <summary>
    223             Your own random session key
    224             </summary>
    225         </member>
    226         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.receivedSessionKey">
    227             <summary>
    228             Received session key
    229             </summary>
    230         </member>
    231         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.sessionKey">
    232             <summary>
    233             Combined session key
    234             </summary>
    235         </member>
    236         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.ownHMACKey">
    237             <summary>
    238             Your own random HMAC-Key
    239             </summary>
    240         </member>
    241         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.receivedHMACKey">
    242             <summary>
    243             Received HMAC-Key
    244             </summary>
    245         </member>
    246         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.hmacSessionKey">
    247             <summary>
    248             Combined HMAC-Key
    249             </summary>
    250         </member>
    251         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.initVector">
    252             <summary>
    253             Initialisation vector
    254             </summary>
    255         </member>
    256         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.csp">
    257             <summary>
    258             CryptoServiceProvider depending on selected algorithm
    259             </summary>
    260         </member>
    261         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.encryptor">
    262             <summary>
    263             Encryptor
    264             </summary>
    265         </member>
    266         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.decryptor">
    267             <summary>
    268             Decryptor
    269             </summary>
    270         </member>
    271         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.keySize">
    272             <summary>
    273             Key size
    274             </summary>
    275         </member>
    276         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.counter">
    277             <summary>
    278             Counter for symmetric encryption
    279             </summary>
    280         </member>
    281         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.Decrypt(System.Byte[])">
    282             <summary>
    283             Decrypts data using the private key
    284             </summary>
    285             <param name="data">Encrypted data</param>
    286             <returns>Decrypted data</returns>
    287         </member>
    288         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.Encrypt(System.Byte[])">
    289             <summary>
    290             Encrpyts data using the external public key
    291             </summary>
    292             <param name="data">Data to encrypt</param>
    293             <returns>Encrypted data</returns>
    294         </member>
    295         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.SignData(System.Byte[])">
    296             <summary>
    297             Signs given data with own private key
    298             </summary>
    299             <param name="data">Data to sign</param>
    300             <returns>Signed data</returns>
    301         </member>
    302         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.VerifySignature(System.Byte[],System.Byte[])">
    303             <summary>
    304             Verifies given data with given signature
    305             </summary>
    306             <param name="data">Data to verify</param>
    307             <param name="signature">Signature to given data</param>
    308             <returns>If signature is verified</returns>
    309         </member>
    310         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.CombineKeys(System.Byte[],System.Byte[])">
    311             <summary>
    312             Combines two keys to a new key
    313             </summary>
    314             <param name="keyA">A key</param>
    315             <param name="keyB">Another key</param>
    316             <returns>New key as combination from both given keys</returns>
    317         </member>
    318         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.CreateRandomKey(System.Byte[]@)">
    319             <summary>
    320             Creates a new random key if given key is not set
    321             </summary>
    322             <param name="key">Key to set</param>
    323             <returns>Old key or new random key if key was not set</returns>
    324             <exception cref="T:System.Security.Cryptography.CryptographicException"></exception>
    325         </member>
    326         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.DecryptSymmetric(System.Byte[])">
    327             <summary>
    328             Decrypts data using the symmetric session key
    329             </summary>
    330             <param name="data">Encrpyted data</param>
    331             <returns>Decrypted data</returns>
    332         </member>
    333         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptSymmetric(System.Byte[])">
    334             <summary>
    335             Encrpyts data using the symmetric session key
    336             </summary>
    337             <param name="data">Data to encrpyt</param>
    338             <returns>Encrypted data</returns>
    339         </member>
    340         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.ComputeHash(System.Byte[])">
    341             <summary>
    342             Calculates datas hash
    343             </summary>
    344             <param name="data">Data to hash</param>
    345             <returns>HMAC hashed data</returns>
    346         </member>
    347         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.VerifyHash(System.Byte[],System.Byte[])">
    348             <summary>
    349             Verifies given data with given hash
    350             </summary>
    351             <param name="data">Data to verify</param>
    352             <param name="hash">HMAC hash to given data</param>
    353             <returns>If hash is verified</returns>
    354         </member>
    355         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.SetHMACKey(System.Byte[])">
    356             <summary>
    357             Creates the session key for hashing from own and received key as XOR combination from both keys
    358             </summary>
    359             <param name="externHMACKey">External received key</param>
    360         </member>
    361         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.SetSessionKey(System.Byte[])">
    362             <summary>
    363             Creates the session key from own and received external key as XOR combination from both keys
    364             </summary>
    365             <param name="externSessionKey">External received key</param>
    366         </member>
    367         <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.ReceiveCertificate(System.Byte[])">
    368             <summary>
    369             Extracts certificate from received byte array and validates it
    370             </summary>
    371             <param name="cert">Received certificate as byte array</param>
    372             <exception cref="T:System.ArgumentNullException"/>
    373         </member>
    374         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.MyCertificate">
    375             <summary>
    376             Users certificate containing public key
    377             </summary>
    378         </member>
    379         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.ExternalCertificate">
    380             <summary>
    381             External certificate
    382             </summary>
    383         </member>
    384         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.OwnSessionKey">
    385             <summary>
    386             Your own random session key
    387             </summary>
    388         </member>
    389         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.ReceivedSessionKey">
    390             <summary>
    391             Received session key
    392             </summary>
    393         </member>
    394         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.SessionKey">
    395             <summary>
    396             Session key created from combination of own and received key
    397             </summary>
    398         </member>
    399         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.OwnHMACKey">
    400             <summary>
    401             Your own random HMAC-Key
    402             </summary>
    403         </member>
    404         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.ReceivedHMACKey">
    405             <summary>
    406             Received HMAC-Key
    407             </summary>
    408         </member>
    409         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.HMACSessionKey">
    410             <summary>
    411             HMAC-Key created from combination of own and received key
    412             </summary>
    413         </member>
    414         <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.CSP">
    415             <summary>
    416            
    417             </summary>
    418         </member>
    419         <member name="T:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm">
    420             <summary>
    421             Enumeration containing available symmetric encryption algorithms
    422             </summary>
    423         </member>
    424         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm.Des">
    425             <summary>
    426             DES encryption
    427             </summary>
    428         </member>
    429         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm.Rijndael">
    430             <summary>
    431             AES encryption
    432             </summary>
    433         </member>
    434         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm.TripleDes">
    435             <summary>
    436             3DES encryption
    437             </summary>
    438         </member>
    439         <member name="T:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize">
    440             <summary>
    441             Available KeySizes for symmetric encryption (Just for AES!)
    442             </summary>
    443         </member>
    444         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize.WEAK">
    445             <summary>
    446             128 bit
    447             </summary>
    448         </member>
    449         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize.NORMAL">
    450             <summary>
    451             192 bit
    452             </summary>
    453         </member>
    454         <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize.STRONG">
    455             <summary>
    456             256 bit
    457             </summary>
    458         </member>
    459         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)">
    460             <summary>
    461             Initialises authentication with normal keysize and rijndael as encryption algorithm
    462             </summary>
    463             <param name="myCertificate">Users Certificate</param>
    464         </member>
    465         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize,System.Security.Cryptography.X509Certificates.X509Certificate2)">
    466             <summary>
    467             Initialises authentication with given keysize and rijndael as encryption algorithm
    468             </summary>
    469             <param name="keySize">Keysize to use</param>
    470             <param name="myCertificate">Users certificate</param>
    471         </member>
    472         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm,System.Security.Cryptography.X509Certificates.X509Certificate2)">
    473             <summary>
    474             Initialises authentication with normal keysize and given encryption algorithm
    475             </summary>
    476             <param name="encAlg">Encryption algorithm to use</param>
    477             <param name="myCertificate">Users certificate</param>
    478         </member>
    479         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize,PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm,System.Security.Cryptography.X509Certificates.X509Certificate2)">
    480             <summary>
    481             Initialises authentication with given keysize and given encryption algorithm
    482             </summary>
    483             <param name="keySize">Keysize to use</param>
    484             <param name="encAlg">Encryption algorithm to use</param>
    485             <param name="myCertificate">Users certificate</param>
    486             <exception cref="T:System.ArgumentNullException"></exception>
    487         </member>
    488         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.SignData(System.Byte[])">
    489             <summary>
    490             Creates signature of given data with own certificate
    491             </summary>
    492             <param name="data">Data to sign</param>
    493             <returns>Signature and certificate info in PKCS#7 format</returns>
    494         </member>
    495         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.VerifySignature(System.Byte[],System.Byte[])">
    496             <summary>
    497             Verifies if given signature belongs to encrypted data using external public key
    498             </summary>
    499             <param name="data">Encrypted data</param>
    500             <param name="signature">Datas signature</param>
    501             <returns>If hash is verified or not</returns>
    502         </member>
    503         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.Encrypt(System.Byte[])">
    504             <summary>
    505             Encrpyts data using the external certificate
    506             </summary>
    507             <param name="data">Data to encrypt</param>
    508             <returns>Encrypted data</returns>
    509         </member>
    510         <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.Decrypt(System.Byte[])">
    511             <summary>
    512             Decrypts data using given certificate and private key
    513             </summary>
    514             <param name="data">Encrypted data</param>
    515             <returns>Decrypted data</returns>
    516         </member>
    517         <member name="T:PeersAtPlay.P2PLink.SnalNG.SnalMessage">
    518             <summary>
    519            
    520             </summary>
    521         </member>
    522         <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SnalNG.SnalMessage.MessageType,System.Guid)">
    523             <summary>
    524             Creates a new SNALMessage of given type with bew bytestack
    525             </summary>
    526             <param name="type">Messagetype</param>
    527         </member>
    528         <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SnalNG.SnalMessage.MessageType,PeersAtPlay.ByteStack,System.Guid)">
    529             <summary>
    530            
    531             </summary>
    532             <param name="type"></param>
    533             <param name="data"></param>
    534         </member>
    535         <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.#ctor(PeersAtPlay.ByteStack)">
    536             <summary>
    537            
    538             </summary>
    539             <param name="data"></param>
    540         </member>
    541         <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.GetByteStack">
    542             <summary>
    543             Serializes the SNALMessage to an byte array
    544             </summary>
    545             <returns>SNALMessage as byte array</returns>
    546         </member>
    547         <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.ToString">
    548             <summary>
    549             String representation
    550             </summary>
    551             <returns></returns>
    552224        </member>
    553225        <member name="T:PeersAtPlay.P2PLink.SnalNG.Link">
     
    622294            </summary>
    623295        </member>
     296        <member name="M:PeersAtPlay.Transport.TcpUdpTransport.BeginConnect(PeersAtPlay.Util.Threading.AsyncCallback{PeersAtPlay.ConnectionStatusChangedEventArgs},PeersAtPlay.Transport.TransportKey)">
     297            <summary>
     298            Use TransportKey instead of IPEndPoint
     299            </summary>
     300            <param name="callBack"></param>
     301            <param name="ipep"></param>
     302        </member>
     303        <member name="T:PeersAtPlay.Networking.Security.RSAAuthentication">
     304            <summary>
     305            This object is available in every SNALConnection. It is instantiated with users
     306            private and public key and will generate a session key.
     307           
     308            - De/Encrypt
     309            - Hybrid cryptography
     310            </summary>
     311        </member>
     312        <member name="T:PeersAtPlay.Networking.Security.AbstractAuthentication">
     313            <summary>
     314            Abstract class which should be implemented by all authentication models. The class
     315            RSAAuthentication is given as an example. This class contains all variables, proper-
     316            ties and methods that are used by SNALConnections for secure communication.
     317            </summary>
     318        </member>
     319        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.myCertificate">
     320            <summary>
     321            Your own certificate containing your public key
     322            </summary>
     323        </member>
     324        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.externalCertificate">
     325            <summary>
     326            External certificate containing external public key received as byte array
     327            </summary>
     328        </member>
     329        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.encAlg">
     330            <summary>
     331            Stores which encryption algorythm should be used for symmetric encryption
     332            </summary>
     333        </member>
     334        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.ownSessionKey">
     335            <summary>
     336            Your own random session key
     337            </summary>
     338        </member>
     339        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.receivedSessionKey">
     340            <summary>
     341            Received session key
     342            </summary>
     343        </member>
     344        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.sessionKey">
     345            <summary>
     346            Combined session key
     347            </summary>
     348        </member>
     349        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.ownHMACKey">
     350            <summary>
     351            Your own random HMAC-Key
     352            </summary>
     353        </member>
     354        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.receivedHMACKey">
     355            <summary>
     356            Received HMAC-Key
     357            </summary>
     358        </member>
     359        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.hmacSessionKey">
     360            <summary>
     361            Combined HMAC-Key
     362            </summary>
     363        </member>
     364        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.initVector">
     365            <summary>
     366            Initialisation vector
     367            </summary>
     368        </member>
     369        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.csp">
     370            <summary>
     371            CryptoServiceProvider depending on selected algorithm
     372            </summary>
     373        </member>
     374        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.encryptor">
     375            <summary>
     376            Encryptor
     377            </summary>
     378        </member>
     379        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.decryptor">
     380            <summary>
     381            Decryptor
     382            </summary>
     383        </member>
     384        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.keySize">
     385            <summary>
     386            Key size
     387            </summary>
     388        </member>
     389        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.counter">
     390            <summary>
     391            Counter for symmetric encryption
     392            </summary>
     393        </member>
     394        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.Decrypt(System.Byte[])">
     395            <summary>
     396            Decrypts data using the private key
     397            </summary>
     398            <param name="data">Encrypted data</param>
     399            <returns>Decrypted data</returns>
     400        </member>
     401        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.Encrypt(System.Byte[])">
     402            <summary>
     403            Encrpyts data using the external public key
     404            </summary>
     405            <param name="data">Data to encrypt</param>
     406            <returns>Encrypted data</returns>
     407        </member>
     408        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.SignData(System.Byte[])">
     409            <summary>
     410            Signs given data with own private key
     411            </summary>
     412            <param name="data">Data to sign</param>
     413            <returns>Signed data</returns>
     414        </member>
     415        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.VerifySignature(System.Byte[],System.Byte[])">
     416            <summary>
     417            Verifies given data with given signature
     418            </summary>
     419            <param name="data">Data to verify</param>
     420            <param name="signature">Signature to given data</param>
     421            <returns>If signature is verified</returns>
     422        </member>
     423        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.CombineKeys(System.Byte[],System.Byte[])">
     424            <summary>
     425            Combines two keys to a new key
     426            </summary>
     427            <param name="keyA">A key</param>
     428            <param name="keyB">Another key</param>
     429            <returns>New key as combination from both given keys</returns>
     430        </member>
     431        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.CreateRandomKey(System.Byte[]@)">
     432            <summary>
     433            Creates a new random key if given key is not set
     434            </summary>
     435            <param name="key">Key to set</param>
     436            <returns>Old key or new random key if key was not set</returns>
     437            <exception cref="T:System.Security.Cryptography.CryptographicException"></exception>
     438        </member>
     439        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.DecryptSymmetric(System.Byte[])">
     440            <summary>
     441            Decrypts data using the symmetric session key
     442            </summary>
     443            <param name="data">Encrpyted data</param>
     444            <returns>Decrypted data</returns>
     445        </member>
     446        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptSymmetric(System.Byte[])">
     447            <summary>
     448            Encrpyts data using the symmetric session key
     449            </summary>
     450            <param name="data">Data to encrpyt</param>
     451            <returns>Encrypted data</returns>
     452        </member>
     453        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.ComputeHash(System.Byte[])">
     454            <summary>
     455            Calculates datas hash
     456            </summary>
     457            <param name="data">Data to hash</param>
     458            <returns>HMAC hashed data</returns>
     459        </member>
     460        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.VerifyHash(System.Byte[],System.Byte[])">
     461            <summary>
     462            Verifies given data with given hash
     463            </summary>
     464            <param name="data">Data to verify</param>
     465            <param name="hash">HMAC hash to given data</param>
     466            <returns>If hash is verified</returns>
     467        </member>
     468        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.SetHMACKey(System.Byte[])">
     469            <summary>
     470            Creates the session key for hashing from own and received key as XOR combination from both keys
     471            </summary>
     472            <param name="externHMACKey">External received key</param>
     473        </member>
     474        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.SetSessionKey(System.Byte[])">
     475            <summary>
     476            Creates the session key from own and received external key as XOR combination from both keys
     477            </summary>
     478            <param name="externSessionKey">External received key</param>
     479        </member>
     480        <member name="M:PeersAtPlay.Networking.Security.AbstractAuthentication.ReceiveCertificate(System.Byte[])">
     481            <summary>
     482            Extracts certificate from received byte array and validates it
     483            </summary>
     484            <param name="cert">Received certificate as byte array</param>
     485            <exception cref="T:System.ArgumentNullException"/>
     486        </member>
     487        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.MyCertificate">
     488            <summary>
     489            Users certificate containing public key
     490            </summary>
     491        </member>
     492        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.ExternalCertificate">
     493            <summary>
     494            External certificate
     495            </summary>
     496        </member>
     497        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.OwnSessionKey">
     498            <summary>
     499            Your own random session key
     500            </summary>
     501        </member>
     502        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.ReceivedSessionKey">
     503            <summary>
     504            Received session key
     505            </summary>
     506        </member>
     507        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.SessionKey">
     508            <summary>
     509            Session key created from combination of own and received key
     510            </summary>
     511        </member>
     512        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.OwnHMACKey">
     513            <summary>
     514            Your own random HMAC-Key
     515            </summary>
     516        </member>
     517        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.ReceivedHMACKey">
     518            <summary>
     519            Received HMAC-Key
     520            </summary>
     521        </member>
     522        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.HMACSessionKey">
     523            <summary>
     524            HMAC-Key created from combination of own and received key
     525            </summary>
     526        </member>
     527        <member name="P:PeersAtPlay.Networking.Security.AbstractAuthentication.CSP">
     528            <summary>
     529           
     530            </summary>
     531        </member>
     532        <member name="T:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm">
     533            <summary>
     534            Enumeration containing available symmetric encryption algorithms
     535            </summary>
     536        </member>
     537        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm.Des">
     538            <summary>
     539            DES encryption
     540            </summary>
     541        </member>
     542        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm.Rijndael">
     543            <summary>
     544            AES encryption
     545            </summary>
     546        </member>
     547        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm.TripleDes">
     548            <summary>
     549            3DES encryption
     550            </summary>
     551        </member>
     552        <member name="T:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize">
     553            <summary>
     554            Available KeySizes for symmetric encryption (Just for AES!)
     555            </summary>
     556        </member>
     557        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize.WEAK">
     558            <summary>
     559            128 bit
     560            </summary>
     561        </member>
     562        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize.NORMAL">
     563            <summary>
     564            192 bit
     565            </summary>
     566        </member>
     567        <member name="F:PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize.STRONG">
     568            <summary>
     569            256 bit
     570            </summary>
     571        </member>
     572        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)">
     573            <summary>
     574            Initialises authentication with normal keysize and rijndael as encryption algorithm
     575            </summary>
     576            <param name="myCertificate">Users Certificate</param>
     577        </member>
     578        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize,System.Security.Cryptography.X509Certificates.X509Certificate2)">
     579            <summary>
     580            Initialises authentication with given keysize and rijndael as encryption algorithm
     581            </summary>
     582            <param name="keySize">Keysize to use</param>
     583            <param name="myCertificate">Users certificate</param>
     584        </member>
     585        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm,System.Security.Cryptography.X509Certificates.X509Certificate2)">
     586            <summary>
     587            Initialises authentication with normal keysize and given encryption algorithm
     588            </summary>
     589            <param name="encAlg">Encryption algorithm to use</param>
     590            <param name="myCertificate">Users certificate</param>
     591        </member>
     592        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.#ctor(PeersAtPlay.Networking.Security.AbstractAuthentication.KeySize,PeersAtPlay.Networking.Security.AbstractAuthentication.EncryptionAlgorithm,System.Security.Cryptography.X509Certificates.X509Certificate2)">
     593            <summary>
     594            Initialises authentication with given keysize and given encryption algorithm
     595            </summary>
     596            <param name="keySize">Keysize to use</param>
     597            <param name="encAlg">Encryption algorithm to use</param>
     598            <param name="myCertificate">Users certificate</param>
     599            <exception cref="T:System.ArgumentNullException"></exception>
     600        </member>
     601        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.SignData(System.Byte[])">
     602            <summary>
     603            Creates signature of given data with own certificate
     604            </summary>
     605            <param name="data">Data to sign</param>
     606            <returns>Signature and certificate info in PKCS#7 format</returns>
     607        </member>
     608        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.VerifySignature(System.Byte[],System.Byte[])">
     609            <summary>
     610            Verifies if given signature belongs to encrypted data using external public key
     611            </summary>
     612            <param name="data">Encrypted data</param>
     613            <param name="signature">Datas signature</param>
     614            <returns>If hash is verified or not</returns>
     615        </member>
     616        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.Encrypt(System.Byte[])">
     617            <summary>
     618            Encrpyts data using the external certificate
     619            </summary>
     620            <param name="data">Data to encrypt</param>
     621            <returns>Encrypted data</returns>
     622        </member>
     623        <member name="M:PeersAtPlay.Networking.Security.RSAAuthentication.Decrypt(System.Byte[])">
     624            <summary>
     625            Decrypts data using given certificate and private key
     626            </summary>
     627            <param name="data">Encrypted data</param>
     628            <returns>Decrypted data</returns>
     629        </member>
    624630        <member name="F:PeersAtPlay.P2PLink.SnalNG.Snal.links">
    625631            <summary>
     
    732738            </summary>
    733739        </member>
    734         <member name="T:PeersAtPlay.P2PLink.SnalNG.SNALHandshake">
    735             <summary>
    736             Represent all data used for the snal connection handshake
    737             </summary>
    738         </member>
    739         <member name="M:PeersAtPlay.P2PLink.SnalNG.SNALHandshake.PushDataOnByteStack(PeersAtPlay.ByteStack)">
    740             <summary>
    741            
    742             </summary>
    743             <returns></returns>
    744         </member>
    745         <member name="T:PeersAtPlay.P2PLink.SnalNG.Settings">
    746             <summary>
    747             SnalNG Settings
    748             </summary>
    749         </member>
    750         <member name="M:PeersAtPlay.P2PLink.SnalNG.Settings.LoadDefaults">
     740        <member name="T:PeersAtPlay.P2PLink.SimpleSnalNG.Settings">
     741            <summary>
     742            SimpleSnalNG Settings
     743            </summary>
     744        </member>
     745        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.LoadDefaults">
    751746            <summary>
    752747            Set all settings to default value
    753748            </summary>
    754749        </member>
    755         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PeerAliveIntervalBasic">
    756             <summary>
    757            
    758             </summary>
    759         </member>
    760         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PeerAliveIntervalDetail">
    761             <summary>
    762            
    763             </summary>
    764         </member>
    765         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PeerAliveIntervalFirst">
    766             <summary>
    767            
    768             </summary>
    769         </member>
    770         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PingIntervalFirst">
    771             <summary>
    772            
    773             </summary>
    774         </member>
    775         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.PingInterval">
    776             <summary>
    777            
    778             </summary>
    779         </member>
    780         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.UseOnlyOneThread">
     750        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.PeerAliveIntervalBasic">
     751            <summary>
     752           
     753            </summary>
     754        </member>
     755        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.PeerAliveIntervalDetail">
     756            <summary>
     757           
     758            </summary>
     759        </member>
     760        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.PeerAliveIntervalFirst">
     761            <summary>
     762           
     763            </summary>
     764        </member>
     765        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.UseOnlyOneThread">
    781766            <summary>
    782767            All Gears4Net parts using the same thread
    783768            </summary>
    784769        </member>
    785         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.FragmentMessageSize">
    786             <summary>
    787            
    788             </summary>
    789         </member>
    790         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MaxNumberOfConcurrentMessageSending">
    791             <summary>
    792            
    793             </summary>
    794         </member>
    795         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.FragmentMessages">
    796             <summary>
    797            
    798             </summary>
    799         </member>
    800         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.NumberOfAutoReconnects">
    801             <summary>
    802            
    803             </summary>
    804         </member>
    805         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.TransportProtocolTimeout">
    806             <summary>
    807            
    808             </summary>
    809         </member>
    810         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MessageResponseTimeout">
    811             <summary>
    812            
    813             </summary>
    814         </member>
    815         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.HandleRequestNodesTimeout">
    816             <summary>
    817            
    818             </summary>
    819         </member>
    820         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.DirectConnectionEstablishemtTimeout">
    821             <summary>
    822            
    823             </summary>
    824         </member>
    825         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.RelayingConnectionEstablishemtTimeout">
    826             <summary>
    827            
    828             </summary>
    829         </member>
    830         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.HolepunchRetries">
    831             <summary>
    832            
    833             </summary>
    834         </member>
    835         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.RequestNodesTimeout">
    836             <summary>
    837            
    838             </summary>
    839         </member>
    840         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.LocalReceivingPort">
    841             <summary>
    842            
    843             </summary>
    844         </member>
    845         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.TransportProtocol">
     770        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.ConnectionEstablishemtTimeout">
     771            <summary>
     772           
     773            </summary>
     774        </member>
     775        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.LocalReceivingPort">
     776            <summary>
     777           
     778            </summary>
     779        </member>
     780        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.TransportProtocol">
    846781            <summary>
    847782            Set the used transport protocol
    848783            </summary>
    849784        </member>
    850         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.ConnectInternal">
    851             <summary>
    852             Tries to establish a connection with remote partner on the internal address
    853             </summary>
    854         </member>
    855         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.CloseConnectionAfterPingTimeout">
     785        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.UseLocalAddressDetection">
     786            <summary>
     787            Using a local address only. This make the P2PLinkManager working without a network connection!
     788            </summary>
     789        </member>
     790        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.StartMFBTypeDetectionServer">
     791            <summary>
     792            Start a MFBTypeDetectionServer if possible
     793            </summary>
     794        </member>
     795        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.MFBTypeDetectionServerPort1">
     796            <summary>
     797            First port for the MFBTypeDetectionServer
     798            </summary>
     799        </member>
     800        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.MFBTypeDetectionServerPort2">
     801            <summary>
     802            Second port for the MFBTypeDetectionServer
     803            </summary>
     804        </member>
     805        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.ReuseAddress">
     806            <summary>
     807            Using always the same port for incoming and outgoing connections
     808            </summary>
     809        </member>
     810        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.NoDelay">
     811            <summary>
     812            Socket option (using Nagle or not)
     813            </summary>
     814        </member>
     815        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.UseNetworkMonitorServer">
     816            <summary>
     817            Send information to the network monitor server
     818            </summary>
     819        </member>
     820        <member name="P:PeersAtPlay.P2PLink.SimpleSnalNG.Settings.SendDetailedConnectionInformation">
    856821            <summary>
    857822            Send detailed connection information to the network monitor server
    858823            </summary>
    859824        </member>
    860         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.UseLocalAddressDetection">
    861             <summary>
    862             Using a local address only. This make the P2PLinkManager working without a network connection!
    863             </summary>
    864         </member>
    865         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.StartMFBTypeDetectionServer">
    866             <summary>
    867             Start a MFBTypeDetectionServer if possible
    868             </summary>
    869         </member>
    870         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MFBTypeDetectionServerPort1">
    871             <summary>
    872             First port for the MFBTypeDetectionServer
    873             </summary>
    874         </member>
    875         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.MFBTypeDetectionServerPort2">
    876             <summary>
    877             Second port for the MFBTypeDetectionServer
    878             </summary>
    879         </member>
    880         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.ReuseAddress">
    881             <summary>
    882             Using always the same port for incoming and outgoing connections
    883             </summary>
    884         </member>
    885         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.NoDelay">
    886             <summary>
    887             Socket option (using Nagle or not)
    888             </summary>
    889         </member>
    890         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.UseNetworkMonitorServer">
    891             <summary>
    892             Send information to the network monitor server
    893             </summary>
    894         </member>
    895         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.SendDetailedConnectionInformation">
    896             <summary>
    897             Send detailed connection information to the network monitor server
    898             </summary>
    899         </member>
    900         <member name="P:PeersAtPlay.P2PLink.SnalNG.Settings.SendConnectionStatusChangedDirectly">
    901             <summary>
    902             Send detailed connection information to the network monitor server
    903             </summary>
    904         </member>
    905         <member name="T:PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage">
    906             <summary>
    907            
    908            
    909             </summary>
    910         </member>
    911         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.MessageType)">
     825        <member name="T:PeersAtPlay.P2PLink.SnalNG.SnalMessage">
     826            <summary>
     827           
     828            </summary>
     829        </member>
     830        <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SnalNG.SnalMessage.MessageType,System.Guid)">
    912831            <summary>
    913832            Creates a new SNALMessage of given type with bew bytestack
     
    915834            <param name="type">Messagetype</param>
    916835        </member>
    917         <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.MessageType,PeersAtPlay.ByteStack)">
     836        <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SnalNG.SnalMessage.MessageType,PeersAtPlay.ByteStack,System.Guid)">
    918837            <summary>
    919838           
     
    922841            <param name="data"></param>
    923842        </member>
     843        <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.#ctor(PeersAtPlay.ByteStack)">
     844            <summary>
     845           
     846            </summary>
     847            <param name="data"></param>
     848        </member>
     849        <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.GetByteStack">
     850            <summary>
     851            Serializes the SNALMessage to an byte array
     852            </summary>
     853            <returns>SNALMessage as byte array</returns>
     854        </member>
     855        <member name="M:PeersAtPlay.P2PLink.SnalNG.SnalMessage.ToString">
     856            <summary>
     857            String representation
     858            </summary>
     859            <returns></returns>
     860        </member>
     861        <member name="T:PeersAtPlay.P2PLink.SnalNG.SNALHandshake">
     862            <summary>
     863            Represent all data used for the snal connection handshake
     864            </summary>
     865        </member>
     866        <member name="M:PeersAtPlay.P2PLink.SnalNG.SNALHandshake.PushDataOnByteStack(PeersAtPlay.ByteStack)">
     867            <summary>
     868           
     869            </summary>
     870            <returns></returns>
     871        </member>
     872        <member name="T:PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage">
     873            <summary>
     874           
     875           
     876            </summary>
     877        </member>
     878        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.MessageType)">
     879            <summary>
     880            Creates a new SNALMessage of given type with bew bytestack
     881            </summary>
     882            <param name="type">Messagetype</param>
     883        </member>
     884        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.#ctor(PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.MessageType,PeersAtPlay.ByteStack)">
     885            <summary>
     886           
     887            </summary>
     888            <param name="type"></param>
     889            <param name="data"></param>
     890        </member>
    924891        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.SnalMessage.#ctor(PeersAtPlay.ByteStack)">
    925892            <summary>
     
    933900            </summary>
    934901            <returns>SNALMessage as byte array</returns>
     902        </member>
     903        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.#ctor(PeersAtPlay.P2PLink.LinkAddress,PeersAtPlay.P2PLink.LinkAddress,System.Net.IPEndPoint,PeersAtPlay.P2PLink.TransportProtocol,System.Boolean)">
     904            <summary>
     905           
     906            </summary>
     907            <param name="localAddress"></param>
     908            <param name="remoteAddress"></param>
     909            <param name="remoteIPEndPoint"></param>
     910            <param name="transportProtocol"></param>
     911            <param name="isIncoming"></param>
     912        </member>
     913        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.Send(PeersAtPlay.P2PLink.LinkMessage)">
     914            <summary>
     915            Send a message to communication partner
     916            </summary>
     917            <param name="message"></param>
     918        </member>
     919        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.Close">
     920            <summary>
     921            Closing this link
     922            </summary>
     923        </member>
     924        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.ForceQuit">
     925            <summary>
     926            Force close
     927            </summary>
     928        </member>
     929        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.ToString">
     930            <summary>
     931            Return the string representaion of the current link state
     932            </summary>
     933            <returns>string representaion of the current link state</returns>
     934        </member>
     935        <member name="M:PeersAtPlay.P2PLink.SimpleSnalNG.Link.OnCloseMessage(Gears4Net.AbstractStateMachine,PeersAtPlay.P2PLink.SimpleSnalNG.Link.CloseMesseage)">
     936            <summary>
     937            Local close message
     938            </summary>
     939            <param name="stateMachine"></param>
     940            <param name="closeMsg"></param>
     941            <returns></returns>
    935942        </member>
    936943    </members>
  • trunk/AppReferences/x86/log4net.xml

    r1672 r1687  
    55    </assembly>
    66    <members>
     7        <member name="T:log4net.Util.TypeConverters.EncodingConverter">
     8            <summary>
     9            Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
     10            </summary>
     11            <remarks>
     12            <para>
     13            Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
     14            </para>
     15            </remarks>
     16            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
     17            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
     18            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
     19            <author>Nicko Cadell</author>
     20            <author>Gert Driesen</author>
     21        </member>
     22        <member name="T:log4net.Util.TypeConverters.IConvertFrom">
     23            <summary>
     24            Interface supported by type converters
     25            </summary>
     26            <remarks>
     27            <para>
     28            This interface supports conversion from arbitrary types
     29            to a single target type. See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
     30            </para>
     31            </remarks>
     32            <author>Nicko Cadell</author>
     33            <author>Gert Driesen</author>
     34        </member>
     35        <member name="M:log4net.Util.TypeConverters.IConvertFrom.CanConvertFrom(System.Type)">
     36            <summary>
     37            Can the source type be converted to the type supported by this object
     38            </summary>
     39            <param name="sourceType">the type to convert</param>
     40            <returns>true if the conversion is possible</returns>
     41            <remarks>
     42            <para>
     43            Test if the <paramref name="sourceType"/> can be converted to the
     44            type supported by this converter.
     45            </para>
     46            </remarks>
     47        </member>
     48        <member name="M:log4net.Util.TypeConverters.IConvertFrom.ConvertFrom(System.Object)">
     49            <summary>
     50            Convert the source object to the type supported by this object
     51            </summary>
     52            <param name="source">the object to convert</param>
     53            <returns>the converted object</returns>
     54            <remarks>
     55            <para>
     56            Converts the <paramref name="source"/> to the type supported
     57            by this converter.
     58            </para>
     59            </remarks>
     60        </member>
     61        <member name="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)">
     62            <summary>
     63            Can the source type be converted to the type supported by this object
     64            </summary>
     65            <param name="sourceType">the type to convert</param>
     66            <returns>true if the conversion is possible</returns>
     67            <remarks>
     68            <para>
     69            Returns <c>true</c> if the <paramref name="sourceType"/> is
     70            the <see cref="T:System.String"/> type.
     71            </para>
     72            </remarks>
     73        </member>
     74        <member name="M:log4net.Util.TypeConverters.EncodingConverter.ConvertFrom(System.Object)">
     75            <summary>
     76            Overrides the ConvertFrom method of IConvertFrom.
     77            </summary>
     78            <param name="source">the object to convert to an encoding</param>
     79            <returns>the encoding</returns>
     80            <remarks>
     81            <para>
     82            Uses the <see cref="M:System.Text.Encoding.GetEncoding(System.String)"/> method to
     83            convert the <see cref="T:System.String"/> argument to an <see cref="T:System.Text.Encoding"/>.
     84            </para>
     85            </remarks>
     86            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
     87            The <paramref name="source"/> object cannot be converted to the
     88            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)"/>
     89            method.
     90            </exception>
     91        </member>
     92        <member name="T:log4net.Util.QuietTextWriter">
     93            <summary>
     94            <see cref="T:System.IO.TextWriter"/> that does not leak exceptions
     95            </summary>
     96            <remarks>
     97            <para>
     98            <see cref="T:log4net.Util.QuietTextWriter"/> does not throw exceptions when things go wrong.
     99            Instead, it delegates error handling to its <see cref="T:log4net.Core.IErrorHandler"/>.
     100            </para>
     101            </remarks>
     102            <author>Nicko Cadell</author>
     103            <author>Gert Driesen</author>
     104        </member>
     105        <member name="T:log4net.Util.TextWriterAdapter">
     106            <summary>
     107            Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
     108            messages to an instance of <see cref="T:System.IO.TextWriter"/>.
     109            </summary>
     110            <remarks>
     111            <para>
     112            Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
     113            messages to an instance of <see cref="T:System.IO.TextWriter"/>.
     114            </para>
     115            </remarks>
     116            <author>Nicko Cadell</author>
     117        </member>
     118        <member name="F:log4net.Util.TextWriterAdapter.m_writer">
     119            <summary>
     120            The writer to forward messages to
     121            </summary>
     122        </member>
     123        <member name="M:log4net.Util.TextWriterAdapter.#ctor(System.IO.TextWriter)">
     124            <summary>
     125            Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
     126            messages to a <see cref="T:System.IO.TextWriter"/>.
     127            </summary>
     128            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to forward to</param>
     129            <remarks>
     130            <para>
     131            Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
     132            messages to a <see cref="T:System.IO.TextWriter"/>.
     133            </para>
     134            </remarks>
     135        </member>
     136        <member name="M:log4net.Util.TextWriterAdapter.Close">
     137            <summary>
     138            Closes the writer and releases any system resources associated with the writer
     139            </summary>
     140            <remarks>
     141            <para>
     142            </para>
     143            </remarks>
     144        </member>
     145        <member name="M:log4net.Util.TextWriterAdapter.Dispose(System.Boolean)">
     146            <summary>
     147            Dispose this writer
     148            </summary>
     149            <param name="disposing">flag indicating if we are being disposed</param>
     150            <remarks>
     151            <para>
     152            Dispose this writer
     153            </para>
     154            </remarks>
     155        </member>
     156        <member name="M:log4net.Util.TextWriterAdapter.Flush">
     157            <summary>
     158            Flushes any buffered output
     159            </summary>
     160            <remarks>
     161            <para>
     162            Clears all buffers for the writer and causes any buffered data to be written
     163            to the underlying device
     164            </para>
     165            </remarks>
     166        </member>
     167        <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char)">
     168            <summary>
     169            Writes a character to the wrapped TextWriter
     170            </summary>
     171            <param name="value">the value to write to the TextWriter</param>
     172            <remarks>
     173            <para>
     174            Writes a character to the wrapped TextWriter
     175            </para>
     176            </remarks>
     177        </member>
     178        <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char[],System.Int32,System.Int32)">
     179            <summary>
     180            Writes a character buffer to the wrapped TextWriter
     181            </summary>
     182            <param name="buffer">the data buffer</param>
     183            <param name="index">the start index</param>
     184            <param name="count">the number of characters to write</param>
     185            <remarks>
     186            <para>
     187            Writes a character buffer to the wrapped TextWriter
     188            </para>
     189            </remarks>
     190        </member>
     191        <member name="M:log4net.Util.TextWriterAdapter.Write(System.String)">
     192            <summary>
     193            Writes a string to the wrapped TextWriter
     194            </summary>
     195            <param name="value">the value to write to the TextWriter</param>
     196            <remarks>
     197            <para>
     198            Writes a string to the wrapped TextWriter
     199            </para>
     200            </remarks>
     201        </member>
     202        <member name="P:log4net.Util.TextWriterAdapter.Writer">
     203            <summary>
     204            Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
     205            </summary>
     206            <value>
     207            The underlying <see cref="T:System.IO.TextWriter"/>.
     208            </value>
     209            <remarks>
     210            <para>
     211            Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
     212            </para>
     213            </remarks>
     214        </member>
     215        <member name="P:log4net.Util.TextWriterAdapter.Encoding">
     216            <summary>
     217            The Encoding in which the output is written
     218            </summary>
     219            <value>
     220            The <see cref="P:log4net.Util.TextWriterAdapter.Encoding"/>
     221            </value>
     222            <remarks>
     223            <para>
     224            The Encoding in which the output is written
     225            </para>
     226            </remarks>
     227        </member>
     228        <member name="P:log4net.Util.TextWriterAdapter.FormatProvider">
     229            <summary>
     230            Gets an object that controls formatting
     231            </summary>
     232            <value>
     233            The format provider
     234            </value>
     235            <remarks>
     236            <para>
     237            Gets an object that controls formatting
     238            </para>
     239            </remarks>
     240        </member>
     241        <member name="P:log4net.Util.TextWriterAdapter.NewLine">
     242            <summary>
     243            Gets or sets the line terminator string used by the TextWriter
     244            </summary>
     245            <value>
     246            The line terminator to use
     247            </value>
     248            <remarks>
     249            <para>
     250            Gets or sets the line terminator string used by the TextWriter
     251            </para>
     252            </remarks>
     253        </member>
     254        <member name="M:log4net.Util.QuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
     255            <summary>
     256            Constructor
     257            </summary>
     258            <param name="writer">the writer to actually write to</param>
     259            <param name="errorHandler">the error handler to report error to</param>
     260            <remarks>
     261            <para>
     262            Create a new QuietTextWriter using a writer and error handler
     263            </para>
     264            </remarks>
     265        </member>
     266        <member name="M:log4net.Util.QuietTextWriter.Write(System.Char)">
     267            <summary>
     268            Writes a character to the underlying writer
     269            </summary>
     270            <param name="value">the char to write</param>
     271            <remarks>
     272            <para>
     273            Writes a character to the underlying writer
     274            </para>
     275            </remarks>
     276        </member>
     277        <member name="M:log4net.Util.QuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
     278            <summary>
     279            Writes a buffer to the underlying writer
     280            </summary>
     281            <param name="buffer">the buffer to write</param>
     282            <param name="index">the start index to write from</param>
     283            <param name="count">the number of characters to write</param>
     284            <remarks>
     285            <para>
     286            Writes a buffer to the underlying writer
     287            </para>
     288            </remarks>
     289        </member>
     290        <member name="M:log4net.Util.QuietTextWriter.Write(System.String)">
     291            <summary>
     292            Writes a string to the output.
     293            </summary>
     294            <param name="value">The string data to write to the output.</param>
     295            <remarks>
     296            <para>
     297            Writes a string to the output.
     298            </para>
     299            </remarks>
     300        </member>
     301        <member name="M:log4net.Util.QuietTextWriter.Close">
     302            <summary>
     303            Closes the underlying output writer.
     304            </summary>
     305            <remarks>
     306            <para>
     307            Closes the underlying output writer.
     308            </para>
     309            </remarks>
     310        </member>
     311        <member name="F:log4net.Util.QuietTextWriter.m_errorHandler">
     312            <summary>
     313            The error handler instance to pass all errors to
     314            </summary>
     315        </member>
     316        <member name="F:log4net.Util.QuietTextWriter.m_closed">
     317            <summary>
     318            Flag to indicate if this writer is closed
     319            </summary>
     320        </member>
     321        <member name="P:log4net.Util.QuietTextWriter.ErrorHandler">
     322            <summary>
     323            Gets or sets the error handler that all errors are passed to.
     324            </summary>
     325            <value>
     326            The error handler that all errors are passed to.
     327            </value>
     328            <remarks>
     329            <para>
     330            Gets or sets the error handler that all errors are passed to.
     331            </para>
     332            </remarks>
     333        </member>
     334        <member name="P:log4net.Util.QuietTextWriter.Closed">
     335            <summary>
     336            Gets a value indicating whether this writer is closed.
     337            </summary>
     338            <value>
     339            <c>true</c> if this writer is closed, otherwise <c>false</c>.
     340            </value>
     341            <remarks>
     342            <para>
     343            Gets a value indicating whether this writer is closed.
     344            </para>
     345            </remarks>
     346        </member>
     347        <member name="T:log4net.Util.ContextPropertiesBase">
     348            <summary>
     349            Base class for Context Properties implementations
     350            </summary>
     351            <remarks>
     352            <para>
     353            This class defines a basic property get set accessor
     354            </para>
     355            </remarks>
     356            <author>Nicko Cadell</author>
     357        </member>
     358        <member name="P:log4net.Util.ContextPropertiesBase.Item(System.String)">
     359            <summary>
     360            Gets or sets the value of a property
     361            </summary>
     362            <value>
     363            The value for the property with the specified key
     364            </value>
     365            <remarks>
     366            <para>
     367            Gets or sets the value of a property
     368            </para>
     369            </remarks>
     370        </member>
     371        <member name="T:log4net.MDC">
     372            <summary>
     373            Implementation of Mapped Diagnostic Contexts.
     374            </summary>
     375            <remarks>
     376            <note>
     377            <para>
     378            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
     379            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
     380            </para>
     381            </note>
     382            <para>
     383            The MDC class is similar to the <see cref="T:log4net.NDC"/> class except that it is
     384            based on a map instead of a stack. It provides <i>mapped
     385            diagnostic contexts</i>. A <i>Mapped Diagnostic Context</i>, or
     386            MDC in short, is an instrument for distinguishing interleaved log
     387            output from different sources. Log output is typically interleaved
     388            when a server handles multiple clients near-simultaneously.
     389            </para>
     390            <para>
     391            The MDC is managed on a per thread basis.
     392            </para>
     393            </remarks>
     394            <threadsafety static="true" instance="true"/>
     395            <author>Nicko Cadell</author>
     396            <author>Gert Driesen</author>
     397        </member>
     398        <member name="M:log4net.MDC.#ctor">
     399            <summary>
     400            Initializes a new instance of the <see cref="T:log4net.MDC"/> class.
     401            </summary>
     402            <remarks>
     403            Uses a private access modifier to prevent instantiation of this class.
     404            </remarks>
     405        </member>
     406        <member name="M:log4net.MDC.Get(System.String)">
     407            <summary>
     408            Gets the context value identified by the <paramref name="key"/> parameter.
     409            </summary>
     410            <param name="key">The key to lookup in the MDC.</param>
     411            <returns>The string value held for the key, or a <c>null</c> reference if no corresponding value is found.</returns>
     412            <remarks>
     413            <note>
     414            <para>
     415            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
     416            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
     417            </para>
     418            </note>
     419            <para>
     420            If the <paramref name="key"/> parameter does not look up to a
     421            previously defined context then <c>null</c> will be returned.
     422            </para>
     423            </remarks>
     424        </member>
     425        <member name="M:log4net.MDC.Set(System.String,System.String)">
     426            <summary>
     427            Add an entry to the MDC
     428            </summary>
     429            <param name="key">The key to store the value under.</param>
     430            <param name="value">The value to store.</param>
     431            <remarks>
     432            <note>
     433            <para>
     434            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
     435            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
     436            </para>
     437            </note>
     438            <para>
     439            Puts a context value (the <paramref name="val"/> parameter) as identified
     440            with the <paramref name="key"/> parameter into the current thread's
     441            context map.
     442            </para>
     443            <para>
     444            If a value is already defined for the <paramref name="key"/>
     445            specified then the value will be replaced. If the <paramref name="val"/>
     446            is specified as <c>null</c> then the key value mapping will be removed.
     447            </para>
     448            </remarks>
     449        </member>
     450        <member name="M:log4net.MDC.Remove(System.String)">
     451            <summary>
     452            Removes the key value mapping for the key specified.
     453            </summary>
     454            <param name="key">The key to remove.</param>
     455            <remarks>
     456            <note>
     457            <para>
     458            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
     459            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
     460            </para>
     461            </note>
     462            <para>
     463            Remove the specified entry from this thread's MDC
     464            </para>
     465            </remarks>
     466        </member>
     467        <member name="M:log4net.MDC.Clear">
     468            <summary>
     469            Clear all entries in the MDC
     470            </summary>
     471            <remarks>
     472            <note>
     473            <para>
     474            The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
     475            The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
     476            </para>
     477            </note>
     478            <para>
     479            Remove all the entries from this thread's MDC
     480            </para>
     481            </remarks>
     482        </member>
     483        <member name="T:log4net.Layout.RawTimeStampLayout">
     484            <summary>
     485            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
     486            </summary>
     487            <remarks>
     488            <para>
     489            Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
     490            </para>
     491            </remarks>
     492            <author>Nicko Cadell</author>
     493            <author>Gert Driesen</author>
     494        </member>
     495        <member name="T:log4net.Layout.IRawLayout">
     496            <summary>
     497            Interface for raw layout objects
     498            </summary>
     499            <remarks>
     500            <para>
     501            Interface used to format a <see cref="T:log4net.Core.LoggingEvent"/>
     502            to an object.
     503            </para>
     504            <para>
     505            This interface should not be confused with the
     506            <see cref="T:log4net.Layout.ILayout"/> interface. This interface is used in
     507            only certain specialized situations where a raw object is
     508            required rather than a formatted string. The <see cref="T:log4net.Layout.ILayout"/>
     509            is not generally useful than this interface.
     510            </para>
     511            </remarks>
     512            <author>Nicko Cadell</author>
     513            <author>Gert Driesen</author>
     514        </member>
     515        <member name="M:log4net.Layout.IRawLayout.Format(log4net.Core.LoggingEvent)">
     516            <summary>
     517            Implement this method to create your own layout format.
     518            </summary>
     519            <param name="loggingEvent">The event to format</param>
     520            <returns>returns the formatted event</returns>
     521            <remarks>
     522            <para>
     523            Implement this method to create your own layout format.
     524            </para>
     525            </remarks>
     526        </member>
     527        <member name="M:log4net.Layout.RawTimeStampLayout.#ctor">
     528            <summary>
     529            Constructs a RawTimeStampLayout
     530            </summary>
     531        </member>
     532        <member name="M:log4net.Layout.RawTimeStampLayout.Format(log4net.Core.LoggingEvent)">
     533            <summary>
     534            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
     535            </summary>
     536            <param name="loggingEvent">The event to format</param>
     537            <returns>returns the time stamp</returns>
     538            <remarks>
     539            <para>
     540            Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
     541            </para>
     542            <para>
     543            The time stamp is in local time. To format the time stamp
     544            in universal time use <see cref="T:log4net.Layout.RawUtcTimeStampLayout"/>.
     545            </para>
     546            </remarks>
     547        </member>
     548        <member name="T:log4net.Layout.Pattern.AppDomainPatternConverter">
     549            <summary>
     550            Write the event appdomain name to the output
     551            </summary>
     552            <remarks>
     553            <para>
     554            Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output writer.
     555            </para>
     556            </remarks>
     557            <author>Daniel Cazzulino</author>
     558            <author>Nicko Cadell</author>
     559        </member>
     560        <member name="T:log4net.Layout.Pattern.PatternLayoutConverter">
     561            <summary>
     562            Abstract class that provides the formatting functionality that
     563            derived classes need.
     564            </summary>
     565            <remarks>
     566            Conversion specifiers in a conversion patterns are parsed to
     567            individual PatternConverters. Each of which is responsible for
     568            converting a logging event in a converter specific manner.
     569            </remarks>
     570            <author>Nicko Cadell</author>
     571        </member>
     572        <member name="T:log4net.Util.PatternConverter">
     573            <summary>
     574            Abstract class that provides the formatting functionality that
     575            derived classes need.
     576            </summary>
     577            <remarks>
     578            <para>
     579            Conversion specifiers in a conversion patterns are parsed to
     580            individual PatternConverters. Each of which is responsible for
     581            converting a logging event in a converter specific manner.
     582            </para>
     583            </remarks>
     584            <author>Nicko Cadell</author>
     585            <author>Gert Driesen</author>
     586        </member>
     587        <member name="F:log4net.Util.PatternConverter.c_renderBufferSize">
     588            <summary>
     589            Initial buffer size
     590            </summary>
     591        </member>
     592        <member name="F:log4net.Util.PatternConverter.c_renderBufferMaxCapacity">
     593            <summary>
     594            Maximum buffer size before it is recycled
     595            </summary>
     596        </member>
     597        <member name="M:log4net.Util.PatternConverter.#ctor">
     598            <summary>
     599            Protected constructor
     600            </summary>
     601            <remarks>
     602            <para>
     603            Initializes a new instance of the <see cref="T:log4net.Util.PatternConverter"/> class.
     604            </para>
     605            </remarks>
     606        </member>
     607        <member name="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)">
     608            <summary>
     609            Evaluate this pattern converter and write the output to a writer.
     610            </summary>
     611            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
     612            <param name="state">The state object on which the pattern converter should be executed.</param>
     613            <remarks>
     614            <para>
     615            Derived pattern converters must override this method in order to
     616            convert conversion specifiers in the appropriate way.
     617            </para>
     618            </remarks>
     619        </member>
     620        <member name="M:log4net.Util.PatternConverter.SetNext(log4net.Util.PatternConverter)">
     621            <summary>
     622            Set the next pattern converter in the chains
     623            </summary>
     624            <param name="patternConverter">the pattern converter that should follow this converter in the chain</param>
     625            <returns>the next converter</returns>
     626            <remarks>
     627            <para>
     628            The PatternConverter can merge with its neighbor during this method (or a sub class).
     629            Therefore the return value may or may not be the value of the argument passed in.
     630            </para>
     631            </remarks>
     632        </member>
     633        <member name="M:log4net.Util.PatternConverter.Format(System.IO.TextWriter,System.Object)">
     634            <summary>
     635            Write the pattern converter to the writer with appropriate formatting
     636            </summary>
     637            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
     638            <param name="state">The state object on which the pattern converter should be executed.</param>
     639            <remarks>
     640            <para>
     641            This method calls <see cref="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)"/> to allow the subclass to perform
     642            appropriate conversion of the pattern converter. If formatting options have
     643            been specified via the <see cref="P:log4net.Util.PatternConverter.FormattingInfo"/> then this method will
     644            apply those formattings before writing the output.
     645            </para>
     646            </remarks>
     647        </member>
     648        <member name="M:log4net.Util.PatternConverter.SpacePad(System.IO.TextWriter,System.Int32)">
     649            <summary>
     650            Fast space padding method.
     651            </summary>
     652            <param name="writer"><see cref="T:System.IO.TextWriter"/> to which the spaces will be appended.</param>
     653            <param name="length">The number of spaces to be padded.</param>
     654            <remarks>
     655            <para>
     656            Fast space padding method.
     657            </para>
     658            </remarks>
     659        </member>
     660        <member name="F:log4net.Util.PatternConverter.m_option">
     661            <summary>
     662            The option string to the converter
     663            </summary>
     664        </member>
     665        <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionary)">
     666            <summary>
     667            Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
     668            </summary>
     669            <param name="writer">the writer to write to</param>
     670            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
     671            <param name="value">the value to write to the writer</param>
     672            <remarks>
     673            <para>
     674            Writes the <see cref="T:System.Collections.IDictionary"/> to a writer in the form:
     675            </para>
     676            <code>
     677            {key1=value1, key2=value2, key3=value3}
     678            </code>
     679            <para>
     680            If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
     681            is not null then it is used to render the key and value to text, otherwise
     682            the object's ToString method is called.
     683            </para>
     684            </remarks>
     685        </member>
     686        <member name="M:log4net.Util.PatternConverter.WriteObject(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Object)">
     687            <summary>
     688            Write an object to a <see cref="T:System.IO.TextWriter"/>
     689            </summary>
     690            <param name="writer">the writer to write to</param>
     691            <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
     692            <param name="value">the value to write to the writer</param>
     693            <remarks>
     694            <para>
     695            Writes the Object to a writer. If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
     696            is not null then it is used to render the object to text, otherwise
     697            the object's ToString method is called.
     698            </para>
     699            </remarks>
     700        </member>
     701        <member name="P:log4net.Util.PatternConverter.Next">
     702            <summary>
     703            Get the next pattern converter in the chain
     704            </summary>
     705            <value>
     706            the next pattern converter in the chain
     707            </value>
     708            <remarks>
     709            <para>
     710            Get the next pattern converter in the chain
     711            </para>
     712            </remarks>
     713        </member>
     714        <member name="P:log4net.Util.PatternConverter.FormattingInfo">
     715            <summary>
     716            Gets or sets the formatting info for this converter
     717            </summary>
     718            <value>
     719            The formatting info for this converter
     720            </value>
     721            <remarks>
     722            <para>
     723            Gets or sets the formatting info for this converter
     724            </para>
     725            </remarks>
     726        </member>
     727        <member name="P:log4net.Util.PatternConverter.Option">
     728            <summary>
     729            Gets or sets the option value for this converter
     730            </summary>
     731            <summary>
     732            The option for this converter
     733            </summary>
     734            <remarks>
     735            <para>
     736            Gets or sets the option value for this converter
     737            </para>
     738            </remarks>
     739        </member>
     740        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.#ctor">
     741            <summary>
     742            Initializes a new instance of the <see cref="T:log4net.Layout.Pattern.PatternLayoutConverter"/> class.
     743            </summary>
     744        </member>
     745        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
     746            <summary>
     747            Derived pattern converters must override this method in order to
     748            convert conversion specifiers in the correct way.
     749            </summary>
     750            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
     751            <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
     752        </member>
     753        <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,System.Object)">
     754            <summary>
     755            Derived pattern converters must override this method in order to
     756            convert conversion specifiers in the correct way.
     757            </summary>
     758            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
     759            <param name="state">The state object on which the pattern converter should be executed.</param>
     760        </member>
     761        <member name="F:log4net.Layout.Pattern.PatternLayoutConverter.m_ignoresException">
     762            <summary>
     763            Flag indicating if this converter handles exceptions
     764            </summary>
     765            <remarks>
     766            <c>false</c> if this converter handles exceptions
     767            </remarks>
     768        </member>
     769        <member name="P:log4net.Layout.Pattern.PatternLayoutConverter.IgnoresException">
     770            <summary>
     771            Flag indicating if this converter handles the logging event exception
     772            </summary>
     773            <value><c>false</c> if this converter handles the logging event exception</value>
     774            <remarks>
     775            <para>
     776            If this converter handles the exception object contained within
     777            <see cref="T:log4net.Core.LoggingEvent"/>, then this property should be set to
     778            <c>false</c>. Otherwise, if the layout ignores the exception
     779            object, then the property should be set to <c>true</c>.
     780            </para>
     781            <para>
     782            Set this value to override a this default setting. The default
     783            value is <c>true</c>, this converter does not handle the exception.
     784            </para>
     785            </remarks>
     786        </member>
     787        <member name="M:log4net.Layout.Pattern.AppDomainPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
     788            <summary>
     789            Write the event appdomain name to the output
     790            </summary>
     791            <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
     792            <param name="loggingEvent">the event being logged</param>
     793            <remarks>
     794            <para>
     795            Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output <paramref name="writer"/>.
     796            </para>
     797            </remarks>
     798        </member>
     799        <member name="T:log4net.DateFormatter.AbsoluteTimeDateFormatter">
     800            <summary>
     801            Formats a <see cref="T:System.DateTime"/> as <c>"HH:mm:ss,fff"</c>.
     802            </summary>
     803            <remarks>
     804            <para>
     805            Formats a <see cref="T:System.DateTime"/> in the format <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
     806            </para>
     807            </remarks>
     808            <author>Nicko Cadell</author>
     809            <author>Gert Driesen</author>
     810        </member>
     811        <member name="T:log4net.DateFormatter.IDateFormatter">
     812            <summary>
     813            Render a <see cref="T:System.DateTime"/> as a string.
     814            </summary>
     815            <remarks>
     816            <para>
     817            Interface to abstract the rendering of a <see cref="T:System.DateTime"/>
     818            instance into a string.
     819            </para>
     820            <para>
     821            The <see cref="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/> method is used to render the
     822            date to a text writer.
     823            </para>
     824            </remarks>
     825            <author>Nicko Cadell</author>
     826            <author>Gert Driesen</author>
     827        </member>
     828        <member name="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
     829            <summary>
     830            Formats the specified date as a string.
     831            </summary>
     832            <param name="dateToFormat">The date to format.</param>
     833            <param name="writer">The writer to write to.</param>
     834            <remarks>
     835            <para>
     836            Format the <see cref="T:System.DateTime"/> as a string and write it
     837            to the <see cref="T:System.IO.TextWriter"/> provided.
     838            </para>
     839            </remarks>
     840        </member>
     841        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat">
     842            <summary>
     843            String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is <b>ABSOLUTE</b>.
     844            </summary>
     845        </member>
     846        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.DateAndTimeDateFormat">
     847            <summary>
     848            String constant used to specify DateTimeDateFormat in layouts.  Current value is <b>DATE</b>.
     849            </summary>
     850        </member>
     851        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.Iso8601TimeDateFormat">
     852            <summary>
     853            String constant used to specify ISO8601DateFormat in layouts. Current value is <b>ISO8601</b>.
     854            </summary>
     855        </member>
     856        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
     857            <summary>
     858            Renders the date into a string. Format is <c>"HH:mm:ss"</c>.
     859            </summary>
     860            <param name="dateToFormat">The date to render into a string.</param>
     861            <param name="buffer">The string builder to write to.</param>
     862            <remarks>
     863            <para>
     864            Subclasses should override this method to render the date
     865            into a string using a precision up to the second. This method
     866            will be called at most once per second and the result will be
     867            reused if it is needed again during the same second.
     868            </para>
     869            </remarks>
     870        </member>
     871        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
     872            <summary>
     873            Renders the date into a string. Format is "HH:mm:ss,fff".
     874            </summary>
     875            <param name="dateToFormat">The date to render into a string.</param>
     876            <param name="writer">The writer to write to.</param>
     877            <remarks>
     878            <para>
     879            Uses the <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> method to generate the
     880            time string up to the seconds and then appends the current
     881            milliseconds. The results from <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> are
     882            cached and <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> is called at most once
     883            per second.
     884            </para>
     885            <para>
     886            Sub classes should override <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/>
     887            rather than <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/>.
     888            </para>
     889            </remarks>
     890        </member>
     891        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeToTheSecond">
     892            <summary>
     893            Last stored time with precision up to the second.
     894            </summary>
     895        </member>
     896        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeBuf">
     897            <summary>
     898            Last stored time with precision up to the second, formatted
     899            as a string.
     900            </summary>
     901        </member>
     902        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeString">
     903            <summary>
     904            Last stored time with precision up to the second, formatted
     905            as a string.
     906            </summary>
     907        </member>
     908        <member name="T:log4net.Core.LogException">
     909            <summary>
     910            Exception base type for log4net.
     911            </summary>
     912            <remarks>
     913            <para>
     914            This type extends <see cref="T:System.ApplicationException"/>. It
     915            does not add any new functionality but does differentiate the
     916            type of exception being thrown.
     917            </para>
     918            </remarks>
     919            <author>Nicko Cadell</author>
     920            <author>Gert Driesen</author>
     921        </member>
     922        <member name="M:log4net.Core.LogException.#ctor">
     923            <summary>
     924            Constructor
     925            </summary>
     926            <remarks>
     927            <para>
     928            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class.
     929            </para>
     930            </remarks>
     931        </member>
     932        <member name="M:log4net.Core.LogException.#ctor(System.String)">
     933            <summary>
     934            Constructor
     935            </summary>
     936            <param name="message">A message to include with the exception.</param>
     937            <remarks>
     938            <para>
     939            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class with
     940            the specified message.
     941            </para>
     942            </remarks>
     943        </member>
     944        <member name="M:log4net.Core.LogException.#ctor(System.String,System.Exception)">
     945            <summary>
     946            Constructor
     947            </summary>
     948            <param name="message">A message to include with the exception.</param>
     949            <param name="innerException">A nested exception to include.</param>
     950            <remarks>
     951            <para>
     952            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class
     953            with the specified message and inner exception.
     954            </para>
     955            </remarks>
     956        </member>
     957        <member name="M:log4net.Core.LogException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
     958            <summary>
     959            Serialization constructor
     960            </summary>
     961            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
     962            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
     963            <remarks>
     964            <para>
     965            Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class
     966            with serialized data.
     967            </para>
     968            </remarks>
     969        </member>
     970        <member name="T:log4net.Core.IFixingRequired">
     971            <summary>
     972            Interface for objects that require fixing.
     973            </summary>
     974            <remarks>
     975            <para>
     976            Interface that indicates that the object requires fixing before it
     977            can be taken outside the context of the appender's
     978            <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method.
     979            </para>
     980            <para>
     981            When objects that implement this interface are stored
     982            in the context properties maps <see cref="T:log4net.GlobalContext"/>
     983            <see cref="P:log4net.GlobalContext.Properties"/> and <see cref="T:log4net.ThreadContext"/>
     984            <see cref="P:log4net.ThreadContext.Properties"/> are fixed
     985            (see <see cref="P:log4net.Core.LoggingEvent.Fix"/>) the <see cref="M:log4net.Core.IFixingRequired.GetFixedObject"/>
     986            method will be called.
     987            </para>
     988            </remarks>
     989            <author>Nicko Cadell</author>
     990        </member>
     991        <member name="M:log4net.Core.IFixingRequired.GetFixedObject">
     992            <summary>
     993            Get a portable version of this object
     994            </summary>
     995            <returns>the portable instance of this object</returns>
     996            <remarks>
     997            <para>
     998            Get a portable instance object that represents the current
     999            state of this object. The portable object can be stored
     1000            and logged from any thread with identical results.
     1001            </para>
     1002            </remarks>
     1003        </member>
     1004        <member name="T:log4net.Core.IErrorHandler">
     1005            <summary>
     1006            Appenders may delegate their error handling to an <see cref="T:log4net.Core.IErrorHandler"/>.
     1007            </summary>
     1008            <remarks>
     1009            <para>
     1010            Error handling is a particularly tedious to get right because by
     1011            definition errors are hard to predict and to reproduce.
     1012            </para>
     1013            </remarks>
     1014            <author>Nicko Cadell</author>
     1015            <author>Gert Driesen</author>
     1016        </member>
     1017        <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
     1018            <summary>
     1019            Handles the error and information about the error condition is passed as
     1020            a parameter.
     1021            </summary>
     1022            <param name="message">The message associated with the error.</param>
     1023            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
     1024            <param name="errorCode">The error code associated with the error.</param>
     1025            <remarks>
     1026            <para>
     1027            Handles the error and information about the error condition is passed as
     1028            a parameter.
     1029            </para>
     1030            </remarks>
     1031        </member>
     1032        <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception)">
     1033            <summary>
     1034            Prints the error message passed as a parameter.
     1035            </summary>
     1036            <param name="message">The message associated with the error.</param>
     1037            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
     1038            <remarks>
     1039            <para>
     1040            See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
     1041            </para>
     1042            </remarks>
     1043        </member>
     1044        <member name="M:log4net.Core.IErrorHandler.Error(System.String)">
     1045            <summary>
     1046            Prints the error message passed as a parameter.
     1047            </summary>
     1048            <param name="message">The message associated with the error.</param>
     1049            <remarks>
     1050            <para>
     1051            See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
     1052            </para>
     1053            </remarks>
     1054        </member>
     1055        <member name="T:log4net.Config.Log4NetConfigurationSectionHandler">
     1056            <summary>
     1057            Class to register for the log4net section of the configuration file
     1058            </summary>
     1059            <remarks>
     1060            The log4net section of the configuration file needs to have a section
     1061            handler registered. This is the section handler used. It simply returns
     1062            the XML element that is the root of the section.
     1063            </remarks>
     1064            <example>
     1065            Example of registering the log4net section handler :
     1066            <code lang="XML" escaped="true">
     1067            <configuration>
     1068                <configSections>
     1069                        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
     1070                </configSections>
     1071                <log4net>
     1072                        log4net configuration XML goes here
     1073                </log4net>
     1074            </configuration>
     1075            </code>
     1076            </example>
     1077            <author>Nicko Cadell</author>
     1078            <author>Gert Driesen</author>
     1079        </member>
     1080        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.#ctor">
     1081            <summary>
     1082            Initializes a new instance of the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> class.
     1083            </summary>
     1084            <remarks>
     1085            <para>
     1086            Default constructor.
     1087            </para>
     1088            </remarks>
     1089        </member>
     1090        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
     1091            <summary>
     1092            Parses the configuration section.
     1093            </summary>
     1094            <param name="parent">The configuration settings in a corresponding parent configuration section.</param>
     1095            <param name="configContext">The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference.</param>
     1096            <param name="section">The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</param>
     1097            <returns>The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</returns>
     1098            <remarks>
     1099            <para>
     1100            Returns the <see cref="T:System.Xml.XmlNode"/> containing the configuration data,
     1101            </para>
     1102            </remarks>
     1103        </member>
     1104        <member name="T:log4net.Appender.RemotingAppender">
     1105            <summary>
     1106            Delivers logging events to a remote logging sink.
     1107            </summary>
     1108            <remarks>
     1109            <para>
     1110            This Appender is designed to deliver events to a remote sink.
     1111            That is any object that implements the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
     1112            interface. It delivers the events using .NET remoting. The
     1113            object to deliver events to is specified by setting the
     1114            appenders <see cref="P:log4net.Appender.RemotingAppender.Sink"/> property.</para>
     1115            <para>
     1116            The RemotingAppender buffers events before sending them. This allows it to
     1117            make more efficient use of the remoting infrastructure.</para>
     1118            <para>
     1119            Once the buffer is full the events are still not sent immediately.
     1120            They are scheduled to be sent using a pool thread. The effect is that
     1121            the send occurs asynchronously. This is very important for a
     1122            number of non obvious reasons. The remoting infrastructure will
     1123            flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
     1124            if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the
     1125            remoting boundary. If the server is not contactable then
     1126            the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
     1127            objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
     1128            having side effects on the calling application the remoting call must be made
     1129            from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
     1130            thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
     1131            the events will block in the thread pool manager until a thread is available.</para>
     1132            <para>
     1133            Because the events are sent asynchronously using pool threads it is possible to close
     1134            this appender before all the queued events have been sent.
     1135            When closing the appender attempts to wait until all the queued events have been sent, but
     1136            this will timeout after 30 seconds regardless.</para>
     1137            <para>
     1138            If this appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
     1139            event has fired it may not be possible to send all the queued events. During process
     1140            exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
     1141            event handler is allowed to run for. If the runtime terminates the threads before
     1142            the queued events have been sent then they will be lost. To ensure that all events
     1143            are sent the appender must be closed before the application exits. See
     1144            <see cref="M:log4net.Core.LoggerManager.Shutdown"/> for details on how to shutdown
     1145            log4net programmatically.</para>
     1146            </remarks>
     1147            <seealso cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
     1148            <author>Nicko Cadell</author>
     1149            <author>Gert Driesen</author>
     1150            <author>Daniel Cazzulino</author>
     1151        </member>
     1152        <member name="T:log4net.Appender.BufferingAppenderSkeleton">
     1153            <summary>
     1154            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that
     1155            buffers events in a fixed size buffer.
     1156            </summary>
     1157            <remarks>
     1158            <para>
     1159            This base class should be used by appenders that need to buffer a
     1160            number of events before logging them. For example the <see cref="T:log4net.Appender.AdoNetAppender"/>
     1161            buffers events and then submits the entire contents of the buffer to
     1162            the underlying database in one go.
     1163            </para>
     1164            <para>
     1165            Subclasses should override the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>
     1166            method to deliver the buffered events.
     1167            </para>
     1168            <para>The BufferingAppenderSkeleton maintains a fixed size cyclic
     1169            buffer of events. The size of the buffer is set using
     1170            the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> property.
     1171            </para>
     1172            <para>A <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> is used to inspect
     1173            each event as it arrives in the appender. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
     1174            triggers, then the current buffer is sent immediately
     1175            (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>). Otherwise the event
     1176            is stored in the buffer. For example, an evaluator can be used to
     1177            deliver the events immediately when an ERROR event arrives.
     1178            </para>
     1179            <para>
     1180            The buffering appender can be configured in a <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode.
     1181            By default the appender is NOT lossy. When the buffer is full all
     1182            the buffered events are sent with <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>.
     1183            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property is set to <c>true</c> then the
     1184            buffer will not be sent when it is full, and new events arriving
     1185            in the appender will overwrite the oldest event in the buffer.
     1186            In lossy mode the buffer will only be sent when the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
     1187            triggers. This can be useful behavior when you need to know about
     1188            ERROR events but not about events with a lower level, configure an
     1189            evaluator that will trigger when an ERROR event arrives, the whole
     1190            buffer will be sent which gives a history of events leading up to
     1191            the ERROR event.
     1192            </para>
     1193            </remarks>
     1194            <author>Nicko Cadell</author>
     1195            <author>Gert Driesen</author>
     1196        </member>
     1197        <member name="T:log4net.Appender.AppenderSkeleton">
     1198            <summary>
     1199            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>.
     1200            </summary>
     1201            <remarks>
     1202            <para>
     1203            This class provides the code for common functionality, such
     1204            as support for threshold filtering and support for general filters.
     1205            </para>
     1206            <para>
     1207            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
     1208            they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
     1209            be called after the appenders properties have been configured.
     1210            </para>
     1211            </remarks>
     1212            <author>Nicko Cadell</author>
     1213            <author>Gert Driesen</author>
     1214        </member>
     1215        <member name="T:log4net.Appender.IAppender">
     1216            <summary>
     1217            Implement this interface for your own strategies for printing log statements.
     1218            </summary>
     1219            <remarks>
     1220            <para>
     1221            Implementors should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
     1222            class which provides a default implementation of this interface.
     1223            </para>
     1224            <para>
     1225            Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
     1226            they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
     1227            be called after the appenders properties have been configured.
     1228            </para>
     1229            </remarks>
     1230            <author>Nicko Cadell</author>
     1231            <author>Gert Driesen</author>
     1232        </member>
     1233        <member name="M:log4net.Appender.IAppender.Close">
     1234            <summary>
     1235            Closes the appender and releases resources.
     1236            </summary>
     1237            <remarks>
     1238            <para>
     1239            Releases any resources allocated within the appender such as file handles,
     1240            network connections, etc.
     1241            </para>
     1242            <para>
     1243            It is a programming error to append to a closed appender.
     1244            </para>
     1245            </remarks>
     1246        </member>
     1247        <member name="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)">
     1248            <summary>
     1249            Log the logging event in Appender specific way.
     1250            </summary>
     1251            <param name="loggingEvent">The event to log</param>
     1252            <remarks>
     1253            <para>
     1254            This method is called to log a message into this appender.
     1255            </para>
     1256            </remarks>
     1257        </member>
     1258        <member name="P:log4net.Appender.IAppender.Name">
     1259            <summary>
     1260            Gets or sets the name of this appender.
     1261            </summary>
     1262            <value>The name of the appender.</value>
     1263            <remarks>
     1264            <para>The name uniquely identifies the appender.</para>
     1265            </remarks>
     1266        </member>
     1267        <member name="T:log4net.Appender.IBulkAppender">
     1268            <summary>
     1269            Interface for appenders that support bulk logging.
     1270            </summary>
     1271            <remarks>
     1272            <para>
     1273            This interface extends the <see cref="T:log4net.Appender.IAppender"/> interface to
     1274            support bulk logging of <see cref="T:log4net.Core.LoggingEvent"/> objects. Appenders
     1275            should only implement this interface if they can bulk log efficiently.
     1276            </para>
     1277            </remarks>
     1278            <author>Nicko Cadell</author>
     1279        </member>
     1280        <member name="M:log4net.Appender.IBulkAppender.DoAppend(log4net.Core.LoggingEvent[])">
     1281            <summary>
     1282            Log the array of logging events in Appender specific way.
     1283            </summary>
     1284            <param name="loggingEvents">The events to log</param>
     1285            <remarks>
     1286            <para>
     1287            This method is called to log an array of events into this appender.
     1288            </para>
     1289            </remarks>
     1290        </member>
     1291        <member name="T:log4net.Core.IOptionHandler">
     1292            <summary>
     1293            Interface used to delay activate a configured object.
     1294            </summary>
     1295            <remarks>
     1296            <para>
     1297            This allows an object to defer activation of its options until all
     1298            options have been set. This is required for components which have
     1299            related options that remain ambiguous until all are set.
     1300            </para>
     1301            <para>
     1302            If a component implements this interface then the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
     1303            must be called by the container after its all the configured properties have been set
     1304            and before the component can be used.
     1305            </para>
     1306            </remarks>
     1307            <author>Nicko Cadell</author>
     1308        </member>
     1309        <member name="M:log4net.Core.IOptionHandler.ActivateOptions">
     1310            <summary>
     1311            Activate the options that were previously set with calls to properties.
     1312            </summary>
     1313            <remarks>
     1314            <para>
     1315            This allows an object to defer activation of its options until all
     1316            options have been set. This is required for components which have
     1317            related options that remain ambiguous until all are set.
     1318            </para>
     1319            <para>
     1320            If a component implements this interface then this method must be called
     1321            after its properties have been set before the component can be used.
     1322            </para>
     1323            </remarks>
     1324        </member>
     1325        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferSize">
     1326            <summary>
     1327            Initial buffer size
     1328            </summary>
     1329        </member>
     1330        <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferMaxCapacity">
     1331            <summary>
     1332            Maximum buffer size before it is recycled
     1333            </summary>
     1334        </member>
     1335        <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
     1336            <summary>
     1337            Default constructor
     1338            </summary>
     1339            <remarks>
     1340            <para>Empty default constructor</para>
     1341            </remarks>
     1342        </member>
     1343        <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
     1344            <summary>
     1345            Finalizes this appender by calling the implementation's
     1346            <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
     1347            </summary>
     1348            <remarks>
     1349            <para>
     1350            If this appender has not been closed then the <c>Finalize</c> method
     1351            will call <see cref="M:log4net.Appender.AppenderSkeleton.Close"/>.
     1352            </para>
     1353            </remarks>
     1354        </member>
     1355        <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
     1356            <summary>
     1357            Initialize the appender based on the options set
     1358            </summary>
     1359            <remarks>
     1360            <para>
     1361            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
     1362            activation scheme. The <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> method must
     1363            be called on this object after the configuration properties have
     1364            been set. Until <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> is called this
     1365            object is in an undefined state and must not be used.
     1366            </para>
     1367            <para>
     1368            If any of the configuration properties are modified then
     1369            <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> must be called again.
     1370            </para>
     1371            </remarks>
     1372        </member>
     1373        <member name="M:log4net.Appender.AppenderSkeleton.Close">
     1374            <summary>
     1375            Closes the appender and release resources.
     1376            </summary>
     1377            <remarks>
     1378            <para>
     1379            Release any resources allocated within the appender such as file handles,
     1380            network connections, etc.
     1381            </para>
     1382            <para>
     1383            It is a programming error to append to a closed appender.
     1384            </para>
     1385            <para>
     1386            This method cannot be overridden by subclasses. This method
     1387            delegates the closing of the appender to the <see cref="M:log4net.Appender.AppenderSkeleton.OnClose"/>
     1388            method which must be overridden in the subclass.
     1389            </para>
     1390            </remarks>
     1391        </member>
     1392        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)">
     1393            <summary>
     1394            Performs threshold checks and invokes filters before
     1395            delegating actual logging to the subclasses specific
     1396            <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
     1397            </summary>
     1398            <param name="loggingEvent">The event to log.</param>
     1399            <remarks>
     1400            <para>
     1401            This method cannot be overridden by derived classes. A
     1402            derived class should override the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method
     1403            which is called by this method.
     1404            </para>
     1405            <para>
     1406            The implementation of this method is as follows:
     1407            </para>
     1408            <para>
     1409            <list type="bullet">
     1410                <item>
     1411                        <description>
     1412                        Checks that the severity of the <paramref name="loggingEvent"/>
     1413                        is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
     1414                        appender.</description>
     1415                </item>
     1416                <item>
     1417                        <description>
     1418                        Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
     1419                        <paramref name="loggingEvent"/>.
     1420                        </description>
     1421                </item>
     1422                <item>
     1423                        <description>
     1424                        Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that
     1425                        it returns <c>true</c>.</description>
     1426                </item>
     1427            </list>
     1428            </para>
     1429            <para>
     1430            If all of the above steps succeed then the <paramref name="loggingEvent"/>
     1431            will be passed to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
     1432            </para>
     1433            </remarks>
     1434        </member>
     1435        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])">
     1436            <summary>
     1437            Performs threshold checks and invokes filters before
     1438            delegating actual logging to the subclasses specific
     1439            <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method.
     1440            </summary>
     1441            <param name="loggingEvents">The array of events to log.</param>
     1442            <remarks>
     1443            <para>
     1444            This method cannot be overridden by derived classes. A
     1445            derived class should override the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method
     1446            which is called by this method.
     1447            </para>
     1448            <para>
     1449            The implementation of this method is as follows:
     1450            </para>
     1451            <para>
     1452            <list type="bullet">
     1453                <item>
     1454                        <description>
     1455                        Checks that the severity of the <paramref name="loggingEvent"/>
     1456                        is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
     1457                        appender.</description>
     1458                </item>
     1459                <item>
     1460                        <description>
     1461                        Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
     1462                        <paramref name="loggingEvent"/>.
     1463                        </description>
     1464                </item>
     1465                <item>
     1466                        <description>
     1467                        Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that
     1468                        it returns <c>true</c>.</description>
     1469                </item>
     1470            </list>
     1471            </para>
     1472            <para>
     1473            If all of the above steps succeed then the <paramref name="loggingEvents"/>
     1474            will be passed to the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method.
     1475            </para>
     1476            </remarks>
     1477        </member>
     1478        <member name="M:log4net.Appender.AppenderSkeleton.FilterEvent(log4net.Core.LoggingEvent)">
     1479            <summary>
     1480            Test if the logging event should we output by this appender
     1481            </summary>
     1482            <param name="loggingEvent">the event to test</param>
     1483            <returns><c>true</c> if the event should be output, <c>false</c> if the event should be ignored</returns>
     1484            <remarks>
     1485            <para>
     1486            This method checks the logging event against the threshold level set
     1487            on this appender and also against the filters specified on this
     1488            appender.
     1489            </para>
     1490            <para>
     1491            The implementation of this method is as follows:
     1492            </para>
     1493            <para>
     1494            <list type="bullet">
     1495                <item>
     1496                        <description>
     1497                        Checks that the severity of the <paramref name="loggingEvent"/>
     1498                        is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
     1499                        appender.</description>
     1500                </item>
     1501                <item>
     1502                        <description>
     1503                        Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
     1504                        <paramref name="loggingEvent"/>.
     1505                        </description>
     1506                </item>
     1507            </list>
     1508            </para>
     1509            </remarks>
     1510        </member>
     1511        <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
     1512            <summary>
     1513            Adds a filter to the end of the filter chain.
     1514            </summary>
     1515            <param name="filter">the filter to add to this appender</param>
     1516            <remarks>
     1517            <para>
     1518            The Filters are organized in a linked list.
     1519            </para>
     1520            <para>
     1521            Setting this property causes the new filter to be pushed onto the
     1522            back of the filter chain.
     1523            </para>
     1524            </remarks>
     1525        </member>
     1526        <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
     1527            <summary>
     1528            Clears the filter list for this appender.
     1529            </summary>
     1530            <remarks>
     1531            <para>
     1532            Clears the filter list for this appender.
     1533            </para>
     1534            </remarks>
     1535        </member>
     1536        <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.Core.Level)">
     1537            <summary>
     1538            Checks if the message level is below this appender's threshold.
     1539            </summary>
     1540            <param name="level"><see cref="T:log4net.Core.Level"/> to test against.</param>
     1541            <remarks>
     1542            <para>
     1543            If there is no threshold set, then the return value is always <c>true</c>.
     1544            </para>
     1545            </remarks>
     1546            <returns>
     1547            <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/>
     1548            requirements of this appender.
     1549            </returns>
     1550        </member>
     1551        <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
     1552            <summary>
     1553            Is called when the appender is closed. Derived classes should override
     1554            this method if resources need to be released.
     1555            </summary>
     1556            <remarks>
     1557            <para>
     1558            Releases any resources allocated within the appender such as file handles,
     1559            network connections, etc.
     1560            </para>
     1561            <para>
     1562            It is a programming error to append to a closed appender.
     1563            </para>
     1564            </remarks>
     1565        </member>
     1566        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)">
     1567            <summary>
     1568            Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method
     1569            to perform actual logging.
     1570            </summary>
     1571            <param name="loggingEvent">The event to append.</param>
     1572            <remarks>
     1573            <para>
     1574            A subclass must implement this method to perform
     1575            logging of the <paramref name="loggingEvent"/>.
     1576            </para>
     1577            <para>This method will be called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
     1578            if all the conditions listed for that method are met.
     1579            </para>
     1580            <para>
     1581            To restrict the logging of events in the appender
     1582            override the <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> method.
     1583            </para>
     1584            </remarks>
     1585        </member>
     1586        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])">
     1587            <summary>
     1588            Append a bulk array of logging events.
     1589            </summary>
     1590            <param name="loggingEvents">the array of logging events</param>
     1591            <remarks>
     1592            <para>
     1593            This base class implementation calls the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/>
     1594            method for each element in the bulk array.
     1595            </para>
     1596            <para>
     1597            A sub class that can better process a bulk array of events should
     1598            override this method in addition to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/>.
     1599            </para>
     1600            </remarks>
     1601        </member>
     1602        <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
     1603            <summary>
     1604            Called before <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> as a precondition.
     1605            </summary>
     1606            <remarks>
     1607            <para>
     1608            This method is called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
     1609            before the call to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
     1610            </para>
     1611            <para>
     1612            This method can be overridden in a subclass to extend the checks
     1613            made before the event is passed to the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
     1614            </para>
     1615            <para>
     1616            A subclass should ensure that they delegate this call to
     1617            this base class if it is overridden.
     1618            </para>
     1619            </remarks>
     1620            <returns><c>true</c> if the call to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> should proceed.</returns>
     1621        </member>
     1622        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)">
     1623            <summary>
     1624            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
     1625            </summary>
     1626            <param name="loggingEvent">The event to render.</param>
     1627            <returns>The event rendered as a string.</returns>
     1628            <remarks>
     1629            <para>
     1630            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to
     1631            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
     1632            set to render the <paramref name="loggingEvent"/> to
     1633            a string.
     1634            </para>
     1635            <para>If there is exception data in the logging event and
     1636            the layout does not process the exception, this method
     1637            will append the exception text to the rendered string.
     1638            </para>
     1639            <para>
     1640            Where possible use the alternative version of this method
     1641            <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)"/>.
     1642            That method streams the rendering onto an existing Writer
     1643            which can give better performance if the caller already has
     1644            a <see cref="T:System.IO.TextWriter"/> open and ready for writing.
     1645            </para>
     1646            </remarks>
     1647        </member>
     1648        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)">
     1649            <summary>
     1650            Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
     1651            </summary>
     1652            <param name="loggingEvent">The event to render.</param>
     1653            <param name="writer">The TextWriter to write the formatted event to</param>
     1654            <remarks>
     1655            <para>
     1656            Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to
     1657            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
     1658            set to render the <paramref name="loggingEvent"/> to
     1659            a string.
     1660            </para>
     1661            <para>If there is exception data in the logging event and
     1662            the layout does not process the exception, this method
     1663            will append the exception text to the rendered string.
     1664            </para>
     1665            <para>
     1666            Use this method in preference to <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)"/>
     1667            where possible. If, however, the caller needs to render the event
     1668            to a string then <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)"/> does
     1669            provide an efficient mechanism for doing so.
     1670            </para>
     1671            </remarks>
     1672        </member>
     1673        <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
     1674            <summary>
     1675            The layout of this appender.
     1676            </summary>
     1677            <remarks>
     1678            See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
     1679            </remarks>
     1680        </member>
     1681        <member name="F:log4net.Appender.AppenderSkeleton.m_name">
     1682            <summary>
     1683            The name of this appender.
     1684            </summary>
     1685            <remarks>
     1686            See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
     1687            </remarks>
     1688        </member>
     1689        <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
     1690            <summary>
     1691            The level threshold of this appender.
     1692            </summary>
     1693            <remarks>
     1694            <para>
     1695            There is no level threshold filtering by default.
     1696            </para>
     1697            <para>
     1698            See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
     1699            </para>
     1700            </remarks>
     1701        </member>
     1702        <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
     1703            <summary>
     1704            It is assumed and enforced that errorHandler is never null.
     1705            </summary>
     1706            <remarks>
     1707            <para>
     1708            It is assumed and enforced that errorHandler is never null.
     1709            </para>
     1710            <para>
     1711            See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
     1712            </para>
     1713            </remarks>
     1714        </member>
     1715        <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
     1716            <summary>
     1717            The first filter in the filter chain.
     1718            </summary>
     1719            <remarks>
     1720            <para>
     1721            Set to <c>null</c> initially.
     1722            </para>
     1723            <para>
     1724            See <see cref="T:log4net.Filter.IFilter"/> for more information.
     1725            </para>
     1726            </remarks>
     1727        </member>
     1728        <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
     1729            <summary>
     1730            The last filter in the filter chain.
     1731            </summary>
     1732            <remarks>
     1733            See <see cref="T:log4net.Filter.IFilter"/> for more information.
     1734            </remarks>
     1735        </member>
     1736        <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
     1737            <summary>
     1738            Flag indicating if this appender is closed.
     1739            </summary>
     1740            <remarks>
     1741            See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
     1742            </remarks>
     1743        </member>
     1744        <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
     1745            <summary>
     1746            The guard prevents an appender from repeatedly calling its own DoAppend method
     1747            </summary>
     1748        </member>
     1749        <member name="F:log4net.Appender.AppenderSkeleton.m_renderWriter">
     1750            <summary>
     1751            StringWriter used to render events
     1752            </summary>
     1753        </member>
     1754        <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
     1755            <summary>
     1756            Gets or sets the threshold <see cref="T:log4net.Core.Level"/> of this appender.
     1757            </summary>
     1758            <value>
     1759            The threshold <see cref="T:log4net.Core.Level"/> of the appender.
     1760            </value>
     1761            <remarks>
     1762            <para>
     1763            All log events with lower level than the threshold level are ignored
     1764            by the appender.
     1765            </para>
     1766            <para>
     1767            In configuration files this option is specified by setting the
     1768            value of the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> option to a level
     1769            string, such as "DEBUG", "INFO" and so on.
     1770            </para>
     1771            </remarks>
     1772        </member>
     1773        <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
     1774            <summary>
     1775            Gets or sets the <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
     1776            </summary>
     1777            <value>The <see cref="T:log4net.Core.IErrorHandler"/> of the appender</value>
     1778            <remarks>
     1779            <para>
     1780            The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default
     1781            implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property.
     1782            </para>
     1783            </remarks>
     1784        </member>
     1785        <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
     1786            <summary>
     1787            The filter chain.
     1788            </summary>
     1789            <value>The head of the filter chain filter chain.</value>
     1790            <remarks>
     1791            <para>
     1792            Returns the head Filter. The Filters are organized in a linked list
     1793            and so all Filters on this Appender are available through the result.
     1794            </para>
     1795            </remarks>
     1796        </member>
     1797        <member name="P:log4net.Appender.AppenderSkeleton.Layout">
     1798            <summary>
     1799            Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
     1800            </summary>
     1801            <value>The layout of the appender.</value>
     1802            <remarks>
     1803            <para>
     1804            See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
     1805            </para>
     1806            </remarks>
     1807            <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
     1808        </member>
     1809        <member name="P:log4net.Appender.AppenderSkeleton.Name">
     1810            <summary>
     1811            Gets or sets the name of this appender.
     1812            </summary>
     1813            <value>The name of the appender.</value>
     1814            <remarks>
     1815            <para>
     1816            The name uniquely identifies the appender.
     1817            </para>
     1818            </remarks>
     1819        </member>
     1820        <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
     1821            <summary>
     1822            Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
     1823            </summary>
     1824            <remarks>
     1825            <para>
     1826            In the rather exceptional case, where the appender
     1827            implementation admits a layout but can also work without it,
     1828            then the appender should return <c>true</c>.
     1829            </para>
     1830            <para>
     1831            This default implementation always returns <c>true</c>.
     1832            </para>
     1833            </remarks>
     1834            <returns>
     1835            <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
     1836            </returns>
     1837        </member>
     1838        <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
     1839            <summary>
     1840            The default buffer size.
     1841            </summary>
     1842            <remarks>
     1843            The default size of the cyclic buffer used to store events.
     1844            This is set to 512 by default.
     1845            </remarks>
     1846        </member>
     1847        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
     1848            <summary>
     1849            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
     1850            </summary>
     1851            <remarks>
     1852            <para>
     1853            Protected default constructor to allow subclassing.
     1854            </para>
     1855            </remarks>
     1856        </member>
     1857        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
     1858            <summary>
     1859            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
     1860            </summary>
     1861            <param name="eventMustBeFixed">the events passed through this appender must be
     1862            fixed by the time that they arrive in the derived class' <c>SendBuffer</c> method.</param>
     1863            <remarks>
     1864            <para>
     1865            Protected constructor to allow subclassing.
     1866            </para>
     1867            <para>
     1868            The <paramref name="eventMustBeFixed"/> should be set if the subclass
     1869            expects the events delivered to be fixed even if the
     1870            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to zero, i.e. when no buffering occurs.
     1871            </para>
     1872            </remarks>
     1873        </member>
     1874        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush">
     1875            <summary>
     1876            Flush the currently buffered events
     1877            </summary>
     1878            <remarks>
     1879            <para>
     1880            Flushes any events that have been buffered.
     1881            </para>
     1882            <para>
     1883            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
     1884            of the buffer will NOT be flushed to the appender.
     1885            </para>
     1886            </remarks>
     1887        </member>
     1888        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Boolean)">
     1889            <summary>
     1890            Flush the currently buffered events
     1891            </summary>
     1892            <param name="flushLossyBuffer">set to <c>true</c> to flush the buffer of lossy events</param>
     1893            <remarks>
     1894            <para>
     1895            Flushes events that have been buffered. If <paramref name="flushLossyBuffer"/> is
     1896            <c>false</c> then events will only be flushed if this buffer is non-lossy mode.
     1897            </para>
     1898            <para>
     1899            If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
     1900            of the buffer will only be flushed if <paramref name="flushLossyBuffer"/> is <c>true</c>.
     1901            In this case the contents of the buffer will be tested against the
     1902            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator"/> and if triggering will be output. All other buffered
     1903            events will be discarded.
     1904            </para>
     1905            <para>
     1906            If <paramref name="flushLossyBuffer"/> is <c>true</c> then the buffer will always
     1907            be emptied by calling this method.
     1908            </para>
     1909            </remarks>
     1910        </member>
     1911        <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
     1912            <summary>
     1913            Initialize the appender based on the options set
     1914            </summary>
     1915            <remarks>
     1916            <para>
     1917            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
     1918            activation scheme. The <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> method must
     1919            be called on this object after the configuration properties have
     1920            been set. Until <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> is called this
     1921            object is in an undefined state and must not be used.
     1922            </para>
     1923            <para>
     1924            If any of the configuration properties are modified then
     1925            <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> must be called again.
     1926            </para>
     1927            </remarks>
     1928        </member>
     1929        <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
     1930            <summary>
     1931            Close this appender instance.
     1932            </summary>
     1933            <remarks>
     1934            <para>
     1935            Close this appender instance. If this appender is marked
     1936            as not <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> then the remaining events in
     1937            the buffer must be sent when the appender is closed.
     1938            </para>
     1939            </remarks>
     1940        </member>
     1941        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.Core.LoggingEvent)">
     1942            <summary>
     1943            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
     1944            </summary>
     1945            <param name="loggingEvent">the event to log</param>
     1946            <remarks>
     1947            <para>
     1948            Stores the <paramref name="loggingEvent"/> in the cyclic buffer.
     1949            </para>
     1950            <para>
     1951            The buffer will be sent (i.e. passed to the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>
     1952            method) if one of the following conditions is met:
     1953            </para>
     1954            <list type="bullet">
     1955                <item>
     1956                        <description>The cyclic buffer is full and this appender is
     1957                        marked as not lossy (see <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>)</description>
     1958                </item>
     1959                <item>
     1960                        <description>An <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> is set and
     1961                        it is triggered for the <paramref name="loggingEvent"/>
     1962                        specified.</description>
     1963                </item>
     1964            </list>
     1965            <para>
     1966            Before the event is stored in the buffer it is fixed
     1967            (see <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)"/>) to ensure that
     1968            any data referenced by the event will be valid when the buffer
     1969            is processed.
     1970            </para>
     1971            </remarks>
     1972        </member>
     1973        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer(log4net.Core.LoggingEvent,log4net.Util.CyclicBuffer)">
     1974            <summary>
     1975            Sends the contents of the buffer.
     1976            </summary>
     1977            <param name="firstLoggingEvent">The first logging event.</param>
     1978            <param name="buffer">The buffer containing the events that need to be send.</param>
     1979            <remarks>
     1980            <para>
     1981            The subclass must override <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>.
     1982            </para>
     1983            </remarks>
     1984        </member>
     1985        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])">
     1986            <summary>
     1987            Sends the events.
     1988            </summary>
     1989            <param name="events">The events that need to be send.</param>
     1990            <remarks>
     1991            <para>
     1992            The subclass must override this method to process the buffered events.
     1993            </para>
     1994            </remarks>
     1995        </member>
     1996        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
     1997            <summary>
     1998            The size of the cyclic buffer used to hold the logging events.
     1999            </summary>
     2000            <remarks>
     2001            Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
     2002            </remarks>
     2003        </member>
     2004        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
     2005            <summary>
     2006            The cyclic buffer used to store the logging events.
     2007            </summary>
     2008        </member>
     2009        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
     2010            <summary>
     2011            The triggering event evaluator that causes the buffer to be sent immediately.
     2012            </summary>
     2013            <remarks>
     2014            The object that is used to determine if an event causes the entire
     2015            buffer to be sent immediately. This field can be <c>null</c>, which
     2016            indicates that event triggering is not to be done. The evaluator
     2017            can be set using the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> property. If this appender
     2018            has the <see cref="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy"/> (<see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property) set to
     2019            <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be set.
     2020            </remarks>
     2021        </member>
     2022        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
     2023            <summary>
     2024            Indicates if the appender should overwrite events in the cyclic buffer
     2025            when it becomes full, or if the buffer should be flushed when the
     2026            buffer is full.
     2027            </summary>
     2028            <remarks>
     2029            If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must
     2030            be set.
     2031            </remarks>
     2032        </member>
     2033        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
     2034            <summary>
     2035            The triggering event evaluator filters discarded events.
     2036            </summary>
     2037            <remarks>
     2038            The object that is used to determine if an event that is discarded should
     2039            really be discarded or if it should be sent to the appenders.
     2040            This field can be <c>null</c>, which indicates that all discarded events will
     2041            be discarded.
     2042            </remarks>
     2043        </member>
     2044        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
     2045            <summary>
     2046            Value indicating which fields in the event should be fixed
     2047            </summary>
     2048            <remarks>
     2049            By default all fields are fixed
     2050            </remarks>
     2051        </member>
     2052        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
     2053            <summary>
     2054            The events delivered to the subclass must be fixed.
     2055            </summary>
     2056        </member>
     2057        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
     2058            <summary>
     2059            Gets or sets a value that indicates whether the appender is lossy.
     2060            </summary>
     2061            <value>
     2062            <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
     2063            </value>
     2064            <remarks>
     2065            <para>
     2066            This appender uses a buffer to store logging events before
     2067            delivering them. A triggering event causes the whole buffer
     2068            to be send to the remote sink. If the buffer overruns before
     2069            a triggering event then logging events could be lost. Set
     2070            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> to <c>false</c> to prevent logging events
     2071            from being lost.
     2072            </para>
     2073            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
     2074            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
     2075            </remarks>
     2076        </member>
     2077        <member name="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize">
     2078            <summary>
     2079            Gets or sets the size of the cyclic buffer used to hold the
     2080            logging events.
     2081            </summary>
     2082            <value>
     2083            The size of the cyclic buffer used to hold the logging events.
     2084            </value>
     2085            <remarks>
     2086            <para>
     2087            The <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option takes a positive integer
     2088            representing the maximum number of logging events to collect in
     2089            a cyclic buffer. When the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is reached,
     2090            oldest events are deleted as new events are added to the
     2091            buffer. By default the size of the cyclic buffer is 512 events.
     2092            </para>
     2093            <para>
     2094            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to a value less than
     2095            or equal to 1 then no buffering will occur. The logging event
     2096            will be delivered synchronously (depending on the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>
     2097            and <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> properties). Otherwise the event will
     2098            be buffered.
     2099            </para>
     2100            </remarks>
     2101        </member>
     2102        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator">
     2103            <summary>
     2104            Gets or sets the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the
     2105            buffer to be sent immediately.
     2106            </summary>
     2107            <value>
     2108            The <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the buffer to be
     2109            sent immediately.
     2110            </value>
     2111            <remarks>
     2112            <para>
     2113            The evaluator will be called for each event that is appended to this
     2114            appender. If the evaluator triggers then the current buffer will
     2115            immediately be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>).
     2116            </para>
     2117            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
     2118            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
     2119            </remarks>
     2120        </member>
     2121        <member name="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator">
     2122            <summary>
     2123            Gets or sets the value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
     2124            </summary>
     2125            <value>
     2126            The value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
     2127            </value>
     2128            <remarks>
     2129            <para>
     2130            The evaluator will be called for each event that is discarded from this
     2131            appender. If the evaluator triggers then the current buffer will immediately
     2132            be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>).
     2133            </para>
     2134            </remarks>
     2135        </member>
     2136        <member name="P:log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData">
     2137            <summary>
     2138            Gets or sets a value indicating if only part of the logging event data
     2139            should be fixed.
     2140            </summary>
     2141            <value>
     2142            <c>true</c> if the appender should only fix part of the logging event
     2143            data, otherwise <c>false</c>. The default is <c>false</c>.
     2144            </value>
     2145            <remarks>
     2146            <para>
     2147            Setting this property to <c>true</c> will cause only part of the
     2148            event data to be fixed and serialized. This will improve performance.
     2149            </para>
     2150            <para>
     2151            See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)"/> for more information.
     2152            </para>
     2153            </remarks>
     2154        </member>
     2155        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Fix">
     2156            <summary>
     2157            Gets or sets a the fields that will be fixed in the event
     2158            </summary>
     2159            <value>
     2160            The event fields that will be fixed before the event is buffered
     2161            </value>
     2162            <remarks>
     2163            <para>
     2164            The logging event needs to have certain thread specific values
     2165            captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
     2166            for details.
     2167            </para>
     2168            </remarks>
     2169            <seealso cref="P:log4net.Core.LoggingEvent.Fix"/>
     2170        </member>
     2171        <member name="M:log4net.Appender.RemotingAppender.#ctor">
     2172            <summary>
     2173            Initializes a new instance of the <see cref="T:log4net.Appender.RemotingAppender"/> class.
     2174            </summary>
     2175            <remarks>
     2176            <para>
     2177            Default constructor.
     2178            </para>
     2179            </remarks>
     2180        </member>
     2181        <member name="M:log4net.Appender.RemotingAppender.ActivateOptions">
     2182            <summary>
     2183            Initialize the appender based on the options set
     2184            </summary>
     2185            <remarks>
     2186            <para>
     2187            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
     2188            activation scheme. The <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> method must
     2189            be called on this object after the configuration properties have
     2190            been set. Until <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> is called this
     2191            object is in an undefined state and must not be used.
     2192            </para>
     2193            <para>
     2194            If any of the configuration properties are modified then
     2195            <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> must be called again.
     2196            </para>
     2197            </remarks>
     2198        </member>
     2199        <member name="M:log4net.Appender.RemotingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
     2200            <summary>
     2201            Send the contents of the buffer to the remote sink.
     2202            </summary>
     2203            <remarks>
     2204            The events are not sent immediately. They are scheduled to be sent
     2205            using a pool thread. The effect is that the send occurs asynchronously.
     2206            This is very important for a number of non obvious reasons. The remoting
     2207            infrastructure will flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
     2208            if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the
     2209            remoting boundary. If the server is not contactable then
     2210            the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
     2211            objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
     2212            having side effects on the calling application the remoting call must be made
     2213            from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
     2214            thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
     2215            the events will block in the thread pool manager until a thread is available.
     2216            </remarks>
     2217            <param name="events">The events to send.</param>
     2218        </member>
     2219        <member name="M:log4net.Appender.RemotingAppender.OnClose">
     2220            <summary>
     2221            Override base class close.
     2222            </summary>
     2223            <remarks>
     2224            <para>
     2225            This method waits while there are queued work items. The events are
     2226            sent asynchronously using <see cref="T:System.Threading.ThreadPool"/> work items. These items
     2227            will be sent once a thread pool thread is available to send them, therefore
     2228            it is possible to close the appender before all the queued events have been
     2229            sent.</para>
     2230            <para>
     2231            This method attempts to wait until all the queued events have been sent, but this
     2232            method will timeout after 30 seconds regardless.</para>
     2233            <para>
     2234            If the appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
     2235            event has fired it may not be possible to send all the queued events. During process
     2236            exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
     2237            event handler is allowed to run for.</para>
     2238            </remarks>
     2239        </member>
     2240        <member name="M:log4net.Appender.RemotingAppender.BeginAsyncSend">
     2241            <summary>
     2242            A work item is being queued into the thread pool
     2243            </summary>
     2244        </member>
     2245        <member name="M:log4net.Appender.RemotingAppender.EndAsyncSend">
     2246            <summary>
     2247            A work item from the thread pool has completed
     2248            </summary>
     2249        </member>
     2250        <member name="M:log4net.Appender.RemotingAppender.SendBufferCallback(System.Object)">
     2251            <summary>
     2252            Send the contents of the buffer to the remote sink.
     2253            </summary>
     2254            <remarks>
     2255            This method is designed to be used with the <see cref="T:System.Threading.ThreadPool"/>.
     2256            This method expects to be passed an array of <see cref="T:log4net.Core.LoggingEvent"/>
     2257            objects in the state param.
     2258            </remarks>
     2259            <param name="state">the logging events to send</param>
     2260        </member>
     2261        <member name="F:log4net.Appender.RemotingAppender.m_sinkUrl">
     2262            <summary>
     2263            The URL of the remote sink.
     2264            </summary>
     2265        </member>
     2266        <member name="F:log4net.Appender.RemotingAppender.m_sinkObj">
     2267            <summary>
     2268            The local proxy (.NET remoting) for the remote logging sink.
     2269            </summary>
     2270        </member>
     2271        <member name="F:log4net.Appender.RemotingAppender.m_queuedCallbackCount">
     2272            <summary>
     2273            The number of queued callbacks currently waiting or executing
     2274            </summary>
     2275        </member>
     2276        <member name="F:log4net.Appender.RemotingAppender.m_workQueueEmptyEvent">
     2277            <summary>
     2278            Event used to signal when there are no queued work items
     2279            </summary>
     2280            <remarks>
     2281            This event is set when there are no queued work items. In this
     2282            state it is safe to close the appender.
     2283            </remarks>
     2284        </member>
     2285        <member name="P:log4net.Appender.RemotingAppender.Sink">
     2286            <summary>
     2287            Gets or sets the URL of the well-known object that will accept
     2288            the logging events.
     2289            </summary>
     2290            <value>
     2291            The well-known URL of the remote sink.
     2292            </value>
     2293            <remarks>
     2294            <para>
     2295            The URL of the remoting sink that will accept logging events.
     2296            The sink must implement the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
     2297            interface.
     2298            </para>
     2299            </remarks>
     2300        </member>
     2301        <member name="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink">
     2302            <summary>
     2303            Interface used to deliver <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
     2304            </summary>
     2305            <remarks>
     2306            This interface must be implemented by a remoting sink
     2307            if the <see cref="T:log4net.Appender.RemotingAppender"/> is to be used
     2308            to deliver logging events to the sink.
     2309            </remarks>
     2310        </member>
     2311        <member name="M:log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(log4net.Core.LoggingEvent[])">
     2312            <summary>
     2313            Delivers logging events to the remote sink
     2314            </summary>
     2315            <param name="events">Array of events to log.</param>
     2316            <remarks>
     2317            <para>
     2318            Delivers logging events to the remote sink
     2319            </para>
     2320            </remarks>
     2321        </member>
     2322        <member name="T:log4net.Util.WindowsSecurityContext">
     2323            <summary>
     2324            Impersonate a Windows Account
     2325            </summary>
     2326            <remarks>
     2327            <para>
     2328            This <see cref="T:log4net.Core.SecurityContext"/> impersonates a Windows account.
     2329            </para>
     2330            <para>
     2331            How the impersonation is done depends on the value of <see cref="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)"/>.
     2332            This allows the context to either impersonate a set of user credentials specified
     2333            using username, domain name and password or to revert to the process credentials.
     2334            </para>
     2335            </remarks>
     2336        </member>
     2337        <member name="T:log4net.Core.SecurityContext">
     2338            <summary>
     2339            A SecurityContext used by log4net when interacting with protected resources
     2340            </summary>
     2341            <remarks>
     2342            <para>
     2343            A SecurityContext used by log4net when interacting with protected resources
     2344            for example with operating system services. This can be used to impersonate
     2345            a principal that has been granted privileges on the system resources.
     2346            </para>
     2347            </remarks>
     2348            <author>Nicko Cadell</author>
     2349        </member>
     2350        <member name="M:log4net.Core.SecurityContext.Impersonate(System.Object)">
     2351            <summary>
     2352            Impersonate this SecurityContext
     2353            </summary>
     2354            <param name="state">State supplied by the caller</param>
     2355            <returns>An <see cref="T:System.IDisposable"/> instance that will
     2356            revoke the impersonation of this SecurityContext, or <c>null</c></returns>
     2357            <remarks>
     2358            <para>
     2359            Impersonate this security context. Further calls on the current
     2360            thread should now be made in the security context provided
     2361            by this object. When the <see cref="T:System.IDisposable"/> result
     2362            <see cref="M:System.IDisposable.Dispose"/> method is called the security
     2363            context of the thread should be reverted to the state it was in
     2364            before <see cref="M:log4net.Core.SecurityContext.Impersonate(System.Object)"/> was called.
     2365            </para>
     2366            </remarks>
     2367        </member>
     2368        <member name="M:log4net.Util.WindowsSecurityContext.#ctor">
     2369            <summary>
     2370            Default constructor
     2371            </summary>
     2372            <remarks>
     2373            <para>
     2374            Default constructor
     2375            </para>
     2376            </remarks>
     2377        </member>
     2378        <member name="M:log4net.Util.WindowsSecurityContext.ActivateOptions">
     2379            <summary>
     2380            Initialize the SecurityContext based on the options set.
     2381            </summary>
     2382            <remarks>
     2383            <para>
     2384            This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
     2385            activation scheme. The <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> method must
     2386            be called on this object after the configuration properties have
     2387            been set. Until <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> is called this
     2388            object is in an undefined state and must not be used.
     2389            </para>
     2390            <para>
     2391            If any of the configuration properties are modified then
     2392            <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> must be called again.
     2393            </para>
     2394            <para>
     2395            The security context will try to Logon the specified user account and
     2396            capture a primary token for impersonation.
     2397            </para>
     2398            </remarks>
     2399            <exception cref="T:System.ArgumentNullException">The required <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/>,
     2400            <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> or <see cref="P:log4net.Util.WindowsSecurityContext.Password"/> properties were not specified.</exception>
     2401        </member>
     2402        <member name="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)">
     2403            <summary>
     2404            Impersonate the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
     2405            </summary>
     2406            <param name="state">caller provided state</param>
     2407            <returns>
     2408            An <see cref="T:System.IDisposable"/> instance that will revoke the impersonation of this SecurityContext
     2409            </returns>
     2410            <remarks>
     2411            <para>
     2412            Depending on the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property either
     2413            impersonate a user using credentials supplied or revert
     2414            to the process credentials.
     2415            </para>
     2416            </remarks>
     2417        </member>
     2418        <member name="M:log4net.Util.WindowsSecurityContext.LogonUser(System.String,System.String,System.String)">
     2419            <summary>
     2420            Create a <see cref="T:System.Security.Principal.WindowsIdentity"/> given the userName, domainName and password.
     2421            </summary>
     2422            <param name="userName">the user name</param>
     2423            <param name="domainName">the domain name</param>
     2424            <param name="password">the password</param>
     2425            <returns>the <see cref="T:System.Security.Principal.WindowsIdentity"/> for the account specified</returns>
     2426            <remarks>
     2427            <para>
     2428            Uses the Windows API call LogonUser to get a principal token for the account. This
     2429            token is used to initialize the WindowsIdentity.
     2430            </para>
     2431            </remarks>
     2432        </member>
     2433        <member name="P:log4net.Util.WindowsSecurityContext.Credentials">
     2434            <summary>
     2435            Gets or sets the impersonation mode for this security context
     2436            </summary>
     2437            <value>
     2438            The impersonation mode for this security context
     2439            </value>
     2440            <remarks>
     2441            <para>
     2442            Impersonate either a user with user credentials or
     2443            revert this thread to the credentials of the process.
     2444            The value is one of the <see cref="T:log4net.Util.WindowsSecurityContext.ImpersonationMode"/>
     2445            enum.
     2446            </para>
     2447            <para>
     2448            The default value is <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
     2449            </para>
     2450            <para>
     2451            When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
     2452            the user's credentials are established using the
     2453            <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/>, <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.Password"/>
     2454            values.
     2455            </para>
     2456            <para>
     2457            When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process"/>
     2458            no other properties need to be set. If the calling thread is
     2459            impersonating then it will be reverted back to the process credentials.
     2460            </para>
     2461            </remarks>
     2462        </member>
     2463        <member name="P:log4net.Util.WindowsSecurityContext.UserName">
     2464            <summary>
     2465            Gets or sets the Windows username for this security context
     2466            </summary>
     2467            <value>
     2468            The Windows username for this security context
     2469            </value>
     2470            <remarks>
     2471            <para>
     2472            This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
     2473            is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
     2474            </para>
     2475            </remarks>
     2476        </member>
     2477        <member name="P:log4net.Util.WindowsSecurityContext.DomainName">
     2478            <summary>
     2479            Gets or sets the Windows domain name for this security context
     2480            </summary>
     2481            <value>
     2482            The Windows domain name for this security context
     2483            </value>
     2484            <remarks>
     2485            <para>
     2486            The default value for <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> is the local machine name
     2487            taken from the <see cref="P:System.Environment.MachineName"/> property.
     2488            </para>
     2489            <para>
     2490            This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
     2491            is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
     2492            </para>
     2493            </remarks>
     2494        </member>
     2495        <member name="P:log4net.Util.WindowsSecurityContext.Password">
     2496            <summary>
     2497            Sets the password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
     2498            </summary>
     2499            <value>
     2500            The password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
     2501            </value>
     2502            <remarks>
     2503            <para>
     2504            This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
     2505            is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
     2506            </para>
     2507            </remarks>
     2508        </member>
     2509        <member name="T:log4net.Util.WindowsSecurityContext.ImpersonationMode">
     2510            <summary>
     2511            The impersonation modes for the <see cref="T:log4net.Util.WindowsSecurityContext"/>
     2512            </summary>
     2513            <remarks>
     2514            <para>
     2515            See the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property for
     2516            details.
     2517            </para>
     2518            </remarks>
     2519        </member>
     2520        <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User">
     2521            <summary>
     2522            Impersonate a user using the credentials supplied
     2523            </summary>
     2524        </member>
     2525        <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process">
     2526            <summary>
     2527            Revert this the thread to the credentials of the process
     2528            </summary>
     2529        </member>
     2530        <member name="T:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext">
     2531            <summary>
     2532            Adds <see cref="T:System.IDisposable"/> to <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
     2533            </summary>
     2534            <remarks>
     2535            <para>
     2536            Helper class to expose the <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
     2537            through the <see cref="T:System.IDisposable"/> interface.
     2538            </para>
     2539            </remarks>
     2540        </member>
     2541        <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.#ctor(System.Security.Principal.WindowsImpersonationContext)">
     2542            <summary>
     2543            Constructor
     2544            </summary>
     2545            <param name="impersonationContext">the impersonation context being wrapped</param>
     2546            <remarks>
     2547            <para>
     2548            Constructor
     2549            </para>
     2550            </remarks>
     2551        </member>
     2552        <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.Dispose">
     2553            <summary>
     2554            Revert the impersonation
     2555            </summary>
     2556            <remarks>
     2557            <para>
     2558            Revert the impersonation
     2559            </para>
     2560            </remarks>
     2561        </member>
     2562        <member name="T:log4net.Util.TypeConverters.PatternStringConverter">
     2563            <summary>
     2564            Convert between string and <see cref="T:log4net.Util.PatternString"/>
     2565            </summary>
     2566            <remarks>
     2567            <para>
     2568            Supports conversion from string to <see cref="T:log4net.Util.PatternString"/> type,
     2569            and from a <see cref="T:log4net.Util.PatternString"/> type to a string.
     2570            </para>
     2571            <para>
     2572            The string is used as the <see cref="P:log4net.Util.PatternString.ConversionPattern"/>
     2573            of the <see cref="T:log4net.Util.PatternString"/>.
     2574            </para>
     2575            </remarks>
     2576            <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
     2577            <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
     2578            <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
     2579            <author>Nicko Cadell</author>
     2580        </member>
     2581        <member name="T:log4net.Util.TypeConverters.IConvertTo">
     2582            <summary>
     2583            Interface supported by type converters
     2584            </summary>
     2585            <remarks>
     2586            <para>
     2587            This interface supports conversion from a single type to arbitrary types.
     2588            See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
     2589            </para>
     2590            </remarks>
     2591            <author>Nicko Cadell</author>
     2592        </member>
     2593        <member name="M:log4net.Util.TypeConverters.IConvertTo.CanConvertTo(System.Type)">
     2594            <summary>
     2595            Returns whether this converter can convert the object to the specified type
     2596            </summary>
     2597            <param name="targetType">A Type that represents the type you want to convert to</param>
     2598            <returns>true if the conversion is possible</returns>
     2599            <remarks>
     2600            <para>
     2601            Test if the type supported by this converter can be converted to the
     2602            <paramref name="targetType"/>.
     2603            </para>
     2604            </remarks>
     2605        </member>
     2606        <member name="M:log4net.Util.TypeConverters.IConvertTo.ConvertTo(System.Object,System.Type)">
     2607            <summary>
     2608            Converts the given value object to the specified type, using the arguments
     2609            </summary>
     2610            <param name="source">the object to convert</param>
     2611            <param name="targetType">The Type to convert the value parameter to</param>
     2612            <returns>the converted object</returns>
     2613            <remarks>
     2614            <para>
     2615            Converts the <paramref name="source"/> (which must be of the type supported
     2616            by this converter) to the <paramref name="targetType"/> specified..
     2617            </para>
     2618            </remarks>
     2619        </member>
     2620        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)">
     2621            <summary>
     2622            Can the target type be converted to the type supported by this object
     2623            </summary>
     2624            <param name="targetType">A <see cref="T:System.Type"/> that represents the type you want to convert to</param>
     2625            <returns>true if the conversion is possible</returns>
     2626            <remarks>
     2627            <para>
     2628            Returns <c>true</c> if the <paramref name="targetType"/> is
     2629            assignable from a <see cref="T:System.String"/> type.
     2630            </para>
     2631            </remarks>
     2632        </member>
     2633        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertTo(System.Object,System.Type)">
     2634            <summary>
     2635            Converts the given value object to the specified type, using the arguments
     2636            </summary>
     2637            <param name="source">the object to convert</param>
     2638            <param name="targetType">The Type to convert the value parameter to</param>
     2639            <returns>the converted object</returns>
     2640            <remarks>
     2641            <para>
     2642            Uses the <see cref="M:log4net.Util.PatternString.Format"/> method to convert the
     2643            <see cref="T:log4net.Util.PatternString"/> argument to a <see cref="T:System.String"/>.
     2644            </para>
     2645            </remarks>
     2646            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
     2647            The <paramref name="source"/> object cannot be converted to the
     2648            <paramref name="targetType"/>. To check for this condition use the
     2649            <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)"/> method.
     2650            </exception>
     2651        </member>
     2652        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)">
     2653            <summary>
     2654            Can the source type be converted to the type supported by this object
     2655            </summary>
     2656            <param name="sourceType">the type to convert</param>
     2657            <returns>true if the conversion is possible</returns>
     2658            <remarks>
     2659            <para>
     2660            Returns <c>true</c> if the <paramref name="sourceType"/> is
     2661            the <see cref="T:System.String"/> type.
     2662            </para>
     2663            </remarks>
     2664        </member>
     2665        <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertFrom(System.Object)">
     2666            <summary>
     2667            Overrides the ConvertFrom method of IConvertFrom.
     2668            </summary>
     2669            <param name="source">the object to convert to a PatternString</param>
     2670            <returns>the PatternString</returns>
     2671            <remarks>
     2672            <para>
     2673            Creates and returns a new <see cref="T:log4net.Util.PatternString"/> using
     2674            the <paramref name="source"/> <see cref="T:System.String"/> as the
     2675            <see cref="P:log4net.Util.PatternString.ConversionPattern"/>.
     2676            </para>
     2677            </remarks>
     2678            <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
     2679            The <paramref name="source"/> object cannot be converted to the
     2680            target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)"/>
     2681            method.
     2682            </exception>
     2683        </member>
     2684        <member name="T:log4net.Util.ThreadContextStack">
     2685            <summary>
     2686            Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
     2687            </summary>
     2688            <remarks>
     2689            <para>
     2690            Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
     2691            </para>
     2692            </remarks>
     2693            <author>Nicko Cadell</author>
     2694        </member>
     2695        <member name="F:log4net.Util.ThreadContextStack.m_stack">
     2696            <summary>
     2697            The stack store.
     2698            </summary>
     2699        </member>
     2700        <member name="M:log4net.Util.ThreadContextStack.#ctor">
     2701            <summary>
     2702            Internal constructor
     2703            </summary>
     2704            <remarks>
     2705            <para>
     2706            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack"/> class.
     2707            </para>
     2708            </remarks>
     2709        </member>
     2710        <member name="M:log4net.Util.ThreadContextStack.Clear">
     2711            <summary>
     2712            Clears all the contextual information held in this stack.
     2713            </summary>
     2714            <remarks>
     2715            <para>
     2716            Clears all the contextual information held in this stack.
     2717            Only call this if you think that this tread is being reused after
     2718            a previous call execution which may not have completed correctly.
     2719            You do not need to use this method if you always guarantee to call
     2720            the <see cref="M:System.IDisposable.Dispose"/> method of the <see cref="T:System.IDisposable"/>
     2721            returned from <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> even in exceptional circumstances,
     2722            for example by using the <c>using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))</c>
     2723            syntax.
     2724            </para>
     2725            </remarks>
     2726        </member>
     2727        <member name="M:log4net.Util.ThreadContextStack.Pop">
     2728            <summary>
     2729            Removes the top context from this stack.
     2730            </summary>
     2731            <returns>The message in the context that was removed from the top of this stack.</returns>
     2732            <remarks>
     2733            <para>
     2734            Remove the top context from this stack, and return
     2735            it to the caller. If this stack is empty then an
     2736            empty string (not <see langword="null"/>) is returned.
     2737            </para>
     2738            </remarks>
     2739        </member>
     2740        <member name="M:log4net.Util.ThreadContextStack.Push(System.String)">
     2741            <summary>
     2742            Pushes a new context message into this stack.
     2743            </summary>
     2744            <param name="message">The new context message.</param>
     2745            <returns>
     2746            An <see cref="T:System.IDisposable"/> that can be used to clean up the context stack.
     2747            </returns>
     2748            <remarks>
     2749            <para>
     2750            Pushes a new context onto this stack. An <see cref="T:System.IDisposable"/>
     2751            is returned that can be used to clean up this stack. This
     2752            can be easily combined with the <c>using</c> keyword to scope the
     2753            context.
     2754            </para>
     2755            </remarks>
     2756            <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
     2757            <code lang="C#">
     2758            using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))
     2759            {
     2760                log.Warn("This should have an ThreadContext Stack message");
     2761            }
     2762            </code>
     2763            </example>
     2764        </member>
     2765        <member name="M:log4net.Util.ThreadContextStack.GetFullMessage">
     2766            <summary>
     2767            Gets the current context information for this stack.
     2768            </summary>
     2769            <returns>The current context information.</returns>
     2770        </member>
     2771        <member name="M:log4net.Util.ThreadContextStack.ToString">
     2772            <summary>
     2773            Gets the current context information for this stack.
     2774            </summary>
     2775            <returns>Gets the current context information</returns>
     2776            <remarks>
     2777            <para>
     2778            Gets the current context information for this stack.
     2779            </para>
     2780            </remarks>
     2781        </member>
     2782        <member name="M:log4net.Util.ThreadContextStack.log4net#Core#IFixingRequired#GetFixedObject">
     2783            <summary>
     2784            Get a portable version of this object
     2785            </summary>
     2786            <returns>the portable instance of this object</returns>
     2787            <remarks>
     2788            <para>
     2789            Get a cross thread portable version of this object
     2790            </para>
     2791            </remarks>
     2792        </member>
     2793        <member name="P:log4net.Util.ThreadContextStack.Count">
     2794            <summary>
     2795            The number of messages in the stack
     2796            </summary>
     2797            <value>
     2798            The current number of messages in the stack
     2799            </value>
     2800            <remarks>
     2801            <para>
     2802            The current number of messages in the stack. That is
     2803            the number of times <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> has been called
     2804            minus the number of times <see cref="M:log4net.Util.ThreadContextStack.Pop"/> has been called.
     2805            </para>
     2806            </remarks>
     2807        </member>
     2808        <member name="P:log4net.Util.ThreadContextStack.InternalStack">
     2809            <summary>
     2810            Gets and sets the internal stack used by this <see cref="T:log4net.Util.ThreadContextStack"/>
     2811            </summary>
     2812            <value>The internal storage stack</value>
     2813            <remarks>
     2814            <para>
     2815            This property is provided only to support backward compatability
     2816            of the <see cref="T:log4net.NDC"/>. Tytpically the internal stack should not
     2817            be modified.
     2818            </para>
     2819            </remarks>
     2820        </member>
     2821        <member name="T:log4net.Util.ThreadContextStack.StackFrame">
     2822            <summary>
     2823            Inner class used to represent a single context frame in the stack.
     2824            </summary>
     2825            <remarks>
     2826            <para>
     2827            Inner class used to represent a single context frame in the stack.
     2828            </para>
     2829            </remarks>
     2830        </member>
     2831        <member name="M:log4net.Util.ThreadContextStack.StackFrame.#ctor(System.String,log4net.Util.ThreadContextStack.StackFrame)">
     2832            <summary>
     2833            Constructor
     2834            </summary>
     2835            <param name="message">The message for this context.</param>
     2836            <param name="parent">The parent context in the chain.</param>
     2837            <remarks>
     2838            <para>
     2839            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.StackFrame"/> class
     2840            with the specified message and parent context.
     2841            </para>
     2842            </remarks>
     2843        </member>
     2844        <member name="P:log4net.Util.ThreadContextStack.StackFrame.Message">
     2845            <summary>
     2846            Get the message.
     2847            </summary>
     2848            <value>The message.</value>
     2849            <remarks>
     2850            <para>
     2851            Get the message.
     2852            </para>
     2853            </remarks>
     2854        </member>
     2855        <member name="P:log4net.Util.ThreadContextStack.StackFrame.FullMessage">
     2856            <summary>
     2857            Gets the full text of the context down to the root level.
     2858            </summary>
     2859            <value>
     2860            The full text of the context down to the root level.
     2861            </value>
     2862            <remarks>
     2863            <para>
     2864            Gets the full text of the context down to the root level.
     2865            </para>
     2866            </remarks>
     2867        </member>
     2868        <member name="T:log4net.Util.ThreadContextStack.AutoPopStackFrame">
     2869            <summary>
     2870            Struct returned from the <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> method.
     2871            </summary>
     2872            <remarks>
     2873            <para>
     2874            This struct implements the <see cref="T:System.IDisposable"/> and is designed to be used
     2875            with the <see langword="using"/> pattern to remove the stack frame at the end of the scope.
     2876            </para>
     2877            </remarks>
     2878        </member>
     2879        <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameStack">
     2880            <summary>
     2881            The ThreadContextStack internal stack
     2882            </summary>
     2883        </member>
     2884        <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameDepth">
     2885            <summary>
     2886            The depth to trim the stack to when this instance is disposed
     2887            </summary>
     2888        </member>
     2889        <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.#ctor(System.Collections.Stack,System.Int32)">
     2890            <summary>
     2891            Constructor
     2892            </summary>
     2893            <param name="frameStack">The internal stack used by the ThreadContextStack.</param>
     2894            <param name="frameDepth">The depth to return the stack to when this object is disposed.</param>
     2895            <remarks>
     2896            <para>
     2897            Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.AutoPopStackFrame"/> class with
     2898            the specified stack and return depth.
     2899            </para>
     2900            </remarks>
     2901        </member>
     2902        <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.Dispose">
     2903            <summary>
     2904            Returns the stack to the correct depth.
     2905            </summary>
     2906            <remarks>
     2907            <para>
     2908            Returns the stack to the correct depth.
     2909            </para>
     2910            </remarks>
     2911        </member>
     2912        <member name="T:log4net.Util.PropertiesDictionary">
     2913            <summary>
     2914            String keyed object map.
     2915            </summary>
     2916            <remarks>
     2917            <para>
     2918            While this collection is serializable only member
     2919            objects that are serializable will
     2920            be serialized along with this collection.
     2921            </para>
     2922            </remarks>
     2923            <author>Nicko Cadell</author>
     2924            <author>Gert Driesen</author>
     2925        </member>
     2926        <member name="T:log4net.Util.ReadOnlyPropertiesDictionary">
     2927            <summary>
     2928            String keyed object map that is read only.
     2929            </summary>
     2930            <remarks>
     2931            <para>
     2932            This collection is readonly and cannot be modified.
     2933            </para>
     2934            <para>
     2935            While this collection is serializable only member
     2936            objects that are serializable will
     2937            be serialized along with this collection.
     2938            </para>
     2939            </remarks>
     2940            <author>Nicko Cadell</author>
     2941            <author>Gert Driesen</author>
     2942        </member>
     2943        <member name="F:log4net.Util.ReadOnlyPropertiesDictionary.m_hashtable">
     2944            <summary>
     2945            The Hashtable used to store the properties data
     2946            </summary>
     2947        </member>
     2948        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor">
     2949            <summary>
     2950            Constructor
     2951            </summary>
     2952            <remarks>
     2953            <para>
     2954            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
     2955            </para>
     2956            </remarks>
     2957        </member>
     2958        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
     2959            <summary>
     2960            Copy Constructor
     2961            </summary>
     2962            <param name="propertiesDictionary">properties to copy</param>
     2963            <remarks>
     2964            <para>
     2965            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
     2966            </para>
     2967            </remarks>
     2968        </member>
     2969        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
     2970            <summary>
     2971            Deserialization constructor
     2972            </summary>
     2973            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
     2974            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
     2975            <remarks>
     2976            <para>
     2977            Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class
     2978            with serialized data.
     2979            </para>
     2980            </remarks>
     2981        </member>
     2982        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetKeys">
     2983            <summary>
     2984            Gets the key names.
     2985            </summary>
     2986            <returns>An array of all the keys.</returns>
     2987            <remarks>
     2988            <para>
     2989            Gets the key names.
     2990            </para>
     2991            </remarks>
     2992        </member>
     2993        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Contains(System.String)">
     2994            <summary>
     2995            Test if the dictionary contains a specified key
     2996            </summary>
     2997            <param name="key">the key to look for</param>
     2998            <returns>true if the dictionary contains the specified key</returns>
     2999            <remarks>
     3000            <para>
     3001            Test if the dictionary contains a specified key
     3002            </para>
     3003            </remarks>
     3004        </member>
     3005        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
     3006            <summary>
     3007            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
     3008            </summary>
     3009            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
     3010            <param name="context">The destination for this serialization.</param>
     3011            <remarks>
     3012            <para>
     3013            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
     3014            </para>
     3015            </remarks>
     3016        </member>
     3017        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
     3018            <summary>
     3019            See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
     3020            </summary>
     3021        </member>
     3022        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
     3023            <summary>
     3024            See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
     3025            </summary>
     3026            <param name="key"></param>
     3027        </member>
     3028        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
     3029            <summary>
     3030            See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
     3031            </summary>
     3032            <param name="key"></param>
     3033            <returns></returns>
     3034        </member>
     3035        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Clear">
     3036            <summary>
     3037            Remove all properties from the properties collection
     3038            </summary>
     3039        </member>
     3040        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
     3041            <summary>
     3042            See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
     3043            </summary>
     3044            <param name="key"></param>
     3045            <param name="value"></param>
     3046        </member>
     3047        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
     3048            <summary>
     3049            See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
     3050            </summary>
     3051            <param name="array"></param>
     3052            <param name="index"></param>
     3053        </member>
     3054        <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
     3055            <summary>
     3056            See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
     3057            </summary>
     3058        </member>
     3059        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Item(System.String)">
     3060            <summary>
     3061            Gets or sets the value of the  property with the specified key.
     3062            </summary>
     3063            <value>
     3064            The value of the property with the specified key.
     3065            </value>
     3066            <param name="key">The key of the property to get or set.</param>
     3067            <remarks>
     3068            <para>
     3069            The property value will only be serialized if it is serializable.
     3070            If it cannot be serialized it will be silently ignored if
     3071            a serialization operation is performed.
     3072            </para>
     3073            </remarks>
     3074        </member>
     3075        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.InnerHashtable">
     3076            <summary>
     3077            The hashtable used to store the properties
     3078            </summary>
     3079            <value>
     3080            The internal collection used to store the properties
     3081            </value>
     3082            <remarks>
     3083            <para>
     3084            The hashtable used to store the properties
     3085            </para>
     3086            </remarks>
     3087        </member>
     3088        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
     3089            <summary>
     3090            See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
     3091            </summary>
     3092        </member>
     3093        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
     3094            <summary>
     3095            See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
     3096            </summary>
     3097        </member>
     3098        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Values">
     3099            <summary>
     3100            See <see cref="P:System.Collections.IDictionary.Values"/>
     3101            </summary>
     3102        </member>
     3103        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Keys">
     3104            <summary>
     3105            See <see cref="P:System.Collections.IDictionary.Keys"/>
     3106            </summary>
     3107        </member>
     3108        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
     3109            <summary>
     3110            See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
     3111            </summary>
     3112        </member>
     3113        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#IsSynchronized">
     3114            <summary>
     3115            See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
     3116            </summary>
     3117        </member>
     3118        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Count">
     3119            <summary>
     3120            The number of properties in this collection
     3121            </summary>
     3122        </member>
     3123        <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#SyncRoot">
     3124            <summary>
     3125            See <see cref="P:System.Collections.ICollection.SyncRoot"/>
     3126            </summary>
     3127        </member>
     3128        <member name="M:log4net.Util.PropertiesDictionary.#ctor">
     3129            <summary>
     3130            Constructor
     3131            </summary>
     3132            <remarks>
     3133            <para>
     3134            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
     3135            </para>
     3136            </remarks>
     3137        </member>
     3138        <member name="M:log4net.Util.PropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
     3139            <summary>
     3140            Constructor
     3141            </summary>
     3142            <param name="propertiesDictionary">properties to copy</param>
     3143            <remarks>
     3144            <para>
     3145            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
     3146            </para>
     3147            </remarks>
     3148        </member>
     3149        <member name="M:log4net.Util.PropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
     3150            <summary>
     3151            Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class
     3152            with serialized data.
     3153            </summary>
     3154            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
     3155            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
     3156            <remarks>
     3157            <para>
     3158            Because this class is sealed the serialization constructor is private.
     3159            </para>
     3160            </remarks>
     3161        </member>
     3162        <member name="M:log4net.Util.PropertiesDictionary.Remove(System.String)">
     3163            <summary>
     3164            Remove the entry with the specified key from this dictionary
     3165            </summary>
     3166            <param name="key">the key for the entry to remove</param>
     3167            <remarks>
     3168            <para>
     3169            Remove the entry with the specified key from this dictionary
     3170            </para>
     3171            </remarks>
     3172        </member>
     3173        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
     3174            <summary>
     3175            See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
     3176            </summary>
     3177            <returns>an enumerator</returns>
     3178            <remarks>
     3179            <para>
     3180            Returns a <see cref="T:System.Collections.IDictionaryEnumerator"/> over the contest of this collection.
     3181            </para>
     3182            </remarks>
     3183        </member>
     3184        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
     3185            <summary>
     3186            See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
     3187            </summary>
     3188            <param name="key">the key to remove</param>
     3189            <remarks>
     3190            <para>
     3191            Remove the entry with the specified key from this dictionary
     3192            </para>
     3193            </remarks>
     3194        </member>
     3195        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
     3196            <summary>
     3197            See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
     3198            </summary>
     3199            <param name="key">the key to lookup in the collection</param>
     3200            <returns><c>true</c> if the collection contains the specified key</returns>
     3201            <remarks>
     3202            <para>
     3203            Test if this collection contains a specified key.
     3204            </para>
     3205            </remarks>
     3206        </member>
     3207        <member name="M:log4net.Util.PropertiesDictionary.Clear">
     3208            <summary>
     3209            Remove all properties from the properties collection
     3210            </summary>
     3211            <remarks>
     3212            <para>
     3213            Remove all properties from the properties collection
     3214            </para>
     3215            </remarks>
     3216        </member>
     3217        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
     3218            <summary>
     3219            See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
     3220            </summary>
     3221            <param name="key">the key</param>
     3222            <param name="value">the value to store for the key</param>
     3223            <remarks>
     3224            <para>
     3225            Store a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
     3226            </para>
     3227            </remarks>
     3228            <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
     3229        </member>
     3230        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
     3231            <summary>
     3232            See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
     3233            </summary>
     3234            <param name="array"></param>
     3235            <param name="index"></param>
     3236        </member>
     3237        <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
     3238            <summary>
     3239            See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
     3240            </summary>
     3241        </member>
     3242        <member name="P:log4net.Util.PropertiesDictionary.Item(System.String)">
     3243            <summary>
     3244            Gets or sets the value of the  property with the specified key.
     3245            </summary>
     3246            <value>
     3247            The value of the property with the specified key.
     3248            </value>
     3249            <param name="key">The key of the property to get or set.</param>
     3250            <remarks>
     3251            <para>
     3252            The property value will only be serialized if it is serializable.
     3253            If it cannot be serialized it will be silently ignored if
     3254            a serialization operation is performed.
     3255            </para>
     3256            </remarks>
     3257        </member>
     3258        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
     3259            <summary>
     3260            See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
     3261            </summary>
     3262            <value>
     3263            <c>false</c>
     3264            </value>
     3265            <remarks>
     3266            <para>
     3267            This collection is modifiable. This property always
     3268            returns <c>false</c>.
     3269            </para>
     3270            </remarks>
     3271        </member>
     3272        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
     3273            <summary>
     3274            See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
     3275            </summary>
     3276            <value>
     3277            The value for the key specified.
     3278            </value>
     3279            <remarks>
     3280            <para>
     3281            Get or set a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
     3282            </para>
     3283            </remarks>
     3284            <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
     3285        </member>
     3286        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Values">
     3287            <summary>
     3288            See <see cref="P:System.Collections.IDictionary.Values"/>
     3289            </summary>
     3290        </member>
     3291        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Keys">
     3292            <summary>
     3293            See <see cref="P:System.Collections.IDictionary.Keys"/>
     3294            </summary>
     3295        </member>
     3296        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
     3297            <summary>
     3298            See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
     3299            </summary>
     3300        </member>
     3301        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#IsSynchronized">
     3302            <summary>
     3303            See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
     3304            </summary>
     3305        </member>
     3306        <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#SyncRoot">
     3307            <summary>
     3308            See <see cref="P:System.Collections.ICollection.SyncRoot"/>
     3309            </summary>
     3310        </member>
     3311        <member name="T:log4net.Util.LogLog">
     3312            <summary>
     3313            Outputs log statements from within the log4net assembly.
     3314            </summary>
     3315            <remarks>
     3316            <para>
     3317            Log4net components cannot make log4net logging calls. However, it is
     3318            sometimes useful for the user to learn about what log4net is
     3319            doing.
     3320            </para>
     3321            <para>
     3322            All log4net internal debug calls go to the standard output stream
     3323            whereas internal error messages are sent to the standard error output
     3324            stream.
     3325            </para>
     3326            </remarks>
     3327            <author>Nicko Cadell</author>
     3328            <author>Gert Driesen</author>
     3329        </member>
     3330        <member name="M:log4net.Util.LogLog.#ctor">
     3331            <summary>
     3332            Initializes a new instance of the <see cref="T:log4net.Util.LogLog"/> class.
     3333            </summary>
     3334            <remarks>
     3335            <para>
     3336            Uses a private access modifier to prevent instantiation of this class.
     3337            </para>
     3338            </remarks>
     3339        </member>
     3340        <member name="M:log4net.Util.LogLog.#cctor">
     3341            <summary>
     3342            Static constructor that initializes logging by reading
     3343            settings from the application configuration file.
     3344            </summary>
     3345            <remarks>
     3346            <para>
     3347            The <c>log4net.Internal.Debug</c> application setting
     3348            controls internal debugging. This setting should be set
     3349            to <c>true</c> to enable debugging.
     3350            </para>
     3351            <para>
     3352            The <c>log4net.Internal.Quiet</c> application setting
     3353            suppresses all internal logging including error messages.
     3354            This setting should be set to <c>true</c> to enable message
     3355            suppression.
     3356            </para>
     3357            </remarks>
     3358        </member>
     3359        <member name="M:log4net.Util.LogLog.Debug(System.String)">
     3360            <summary>
     3361            Writes log4net internal debug messages to the
     3362            standard output stream.
     3363            </summary>
     3364            <param name="message">The message to log.</param>
     3365            <remarks>
     3366            <para>
     3367            All internal debug messages are prepended with
     3368            the string "log4net: ".
     3369            </para>
     3370            </remarks>
     3371        </member>
     3372        <member name="M:log4net.Util.LogLog.Debug(System.String,System.Exception)">
     3373            <summary>
     3374            Writes log4net internal debug messages to the
     3375            standard output stream.
     3376            </summary>
     3377            <param name="message">The message to log.</param>
     3378            <param name="exception">An exception to log.</param>
     3379            <remarks>
     3380            <para>
     3381            All internal debug messages are prepended with
     3382            the string "log4net: ".
     3383            </para>
     3384            </remarks>
     3385        </member>
     3386        <member name="M:log4net.Util.LogLog.Warn(System.String)">
     3387            <summary>
     3388            Writes log4net internal warning messages to the
     3389            standard error stream.
     3390            </summary>
     3391            <param name="message">The message to log.</param>
     3392            <remarks>
     3393            <para>
     3394            All internal warning messages are prepended with
     3395            the string "log4net:WARN ".
     3396            </para>
     3397            </remarks>
     3398        </member>
     3399        <member name="M:log4net.Util.LogLog.Warn(System.String,System.Exception)">
     3400            <summary>
     3401            Writes log4net internal warning messages to the
     3402            standard error stream.
     3403            </summary>
     3404            <param name="message">The message to log.</param>
     3405            <param name="exception">An exception to log.</param>
     3406            <remarks>
     3407            <para>
     3408            All internal warning messages are prepended with
     3409            the string "log4net:WARN ".
     3410            </para>
     3411            </remarks>
     3412        </member>
     3413        <member name="M:log4net.Util.LogLog.Error(System.String)">
     3414            <summary>
     3415            Writes log4net internal error messages to the
     3416            standard error stream.
     3417            </summary>
     3418            <param name="message">The message to log.</param>
     3419            <remarks>
     3420            <para>
     3421            All internal error messages are prepended with
     3422            the string "log4net:ERROR ".
     3423            </para>
     3424            </remarks>
     3425        </member>
     3426        <member name="M:log4net.Util.LogLog.Error(System.String,System.Exception)">
     3427            <summary>
     3428            Writes log4net internal error messages to the
     3429            standard error stream.
     3430            </summary>
     3431            <param name="message">The message to log.</param>
     3432            <param name="exception">An exception to log.</param>
     3433            <remarks>
     3434            <para>
     3435            All internal debug messages are prepended with
     3436            the string "log4net:ERROR ".
     3437            </para>
     3438            </remarks>
     3439        </member>
     3440        <member name="M:log4net.Util.LogLog.EmitOutLine(System.String)">
     3441            <summary>
     3442            Writes output to the standard output stream. 
     3443            </summary>
     3444            <param name="message">The message to log.</param>
     3445            <remarks>
     3446            <para>
     3447            Writes to both Console.Out and System.Diagnostics.Trace.
     3448            Note that the System.Diagnostics.Trace is not supported
     3449            on the Compact Framework.
     3450            </para>
     3451            <para>
     3452            If the AppDomain is not configured with a config file then
     3453            the call to System.Diagnostics.Trace may fail. This is only
     3454            an issue if you are programmatically creating your own AppDomains.
     3455            </para>
     3456            </remarks>
     3457        </member>
     3458        <member name="M:log4net.Util.LogLog.EmitErrorLine(System.String)">
     3459            <summary>
     3460            Writes output to the standard error stream. 
     3461            </summary>
     3462            <param name="message">The message to log.</param>
     3463            <remarks>
     3464            <para>
     3465            Writes to both Console.Error and System.Diagnostics.Trace.
     3466            Note that the System.Diagnostics.Trace is not supported
     3467            on the Compact Framework.
     3468            </para>
     3469            <para>
     3470            If the AppDomain is not configured with a config file then
     3471            the call to System.Diagnostics.Trace may fail. This is only
     3472            an issue if you are programmatically creating your own AppDomains.
     3473            </para>
     3474            </remarks>
     3475        </member>
     3476        <member name="F:log4net.Util.LogLog.s_debugEnabled">
     3477            <summary>
     3478             Default debug level
     3479            </summary>
     3480        </member>
     3481        <member name="F:log4net.Util.LogLog.s_quietMode">
     3482            <summary>
     3483            In quietMode not even errors generate any output.
     3484            </summary>
     3485        </member>
     3486        <member name="P:log4net.Util.LogLog.InternalDebugging">
     3487            <summary>
     3488            Gets or sets a value indicating whether log4net internal logging
     3489            is enabled or disabled.
     3490            </summary>
     3491            <value>
     3492            <c>true</c> if log4net internal logging is enabled, otherwise
     3493            <c>false</c>.
     3494            </value>
     3495            <remarks>
     3496            <para>
     3497            When set to <c>true</c>, internal debug level logging will be
     3498            displayed.
     3499            </para>
     3500            <para>
     3501            This value can be set by setting the application setting
     3502            <c>log4net.Internal.Debug</c> in the application configuration
     3503            file.
     3504            </para>
     3505            <para>
     3506            The default value is <c>false</c>, i.e. debugging is
     3507            disabled.
     3508            </para>
     3509            </remarks>
     3510            <example>
     3511            <para>
     3512            The following example enables internal debugging using the
     3513            application configuration file :
     3514            </para>
     3515            <code lang="XML" escaped="true">
     3516            <configuration>
     3517                <appSettings>
     3518                        <add key="log4net.Internal.Debug" value="true" />
     3519                </appSettings>
     3520            </configuration>
     3521            </code>
     3522            </example>
     3523        </member>
     3524        <member name="P:log4net.Util.LogLog.QuietMode">
     3525            <summary>
     3526            Gets or sets a value indicating whether log4net should generate no output
     3527            from internal logging, not even for errors.
     3528            </summary>
     3529            <value>
     3530            <c>true</c> if log4net should generate no output at all from internal
     3531            logging, otherwise <c>false</c>.
     3532            </value>
     3533            <remarks>
     3534            <para>
     3535            When set to <c>true</c> will cause internal logging at all levels to be
     3536            suppressed. This means that no warning or error reports will be logged.
     3537            This option overrides the <see cref="P:log4net.Util.LogLog.InternalDebugging"/> setting and
     3538            disables all debug also.
     3539            </para>
     3540            <para>This value can be set by setting the application setting
     3541            <c>log4net.Internal.Quiet</c> in the application configuration file.
     3542            </para>
     3543            <para>
     3544            The default value is <c>false</c>, i.e. internal logging is not
     3545            disabled.
     3546            </para>
     3547            </remarks>
     3548            <example>
     3549            The following example disables internal logging using the
     3550            application configuration file :
     3551            <code lang="XML" escaped="true">
     3552            <configuration>
     3553                <appSettings>
     3554                        <add key="log4net.Internal.Quiet" value="true"/>
     3555                </appSettings>
     3556            </configuration>
     3557            </code>
     3558            </example>
     3559        </member>
     3560        <member name="P:log4net.Util.LogLog.IsDebugEnabled">
     3561            <summary>
     3562            Test if LogLog.Debug is enabled for output.
     3563            </summary>
     3564            <value>
     3565            <c>true</c> if Debug is enabled
     3566            </value>
     3567            <remarks>
     3568            <para>
     3569            Test if LogLog.Debug is enabled for output.
     3570            </para>
     3571            </remarks>
     3572        </member>
     3573        <member name="P:log4net.Util.LogLog.IsWarnEnabled">
     3574            <summary>
     3575            Test if LogLog.Warn is enabled for output.
     3576            </summary>
     3577            <value>
     3578            <c>true</c> if Warn is enabled
     3579            </value>
     3580            <remarks>
     3581            <para>
     3582            Test if LogLog.Warn is enabled for output.
     3583            </para>
     3584            </remarks>
     3585        </member>
     3586        <member name="P:log4net.Util.LogLog.IsErrorEnabled">
     3587            <summary>
     3588            Test if LogLog.Error is enabled for output.
     3589            </summary>
     3590            <value>
     3591            <c>true</c> if Error is enabled
     3592            </value>
     3593            <remarks>
     3594            <para>
     3595            Test if LogLog.Error is enabled for output.
     3596            </para>
     3597            </remarks>
     3598        </member>
     3599        <member name="T:log4net.Repository.LoggerRepositorySkeleton">
     3600            <summary>
     3601            Base implementation of <see cref="T:log4net.Repository.ILoggerRepository"/>
     3602            </summary>
     3603            <remarks>
     3604            <para>
     3605            Default abstract implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
     3606            </para>
     3607            <para>
     3608            Skeleton implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
     3609            All <see cref="T:log4net.Repository.ILoggerRepository"/> types can extend this type.
     3610            </para>
     3611            </remarks>
     3612            <author>Nicko Cadell</author>
     3613            <author>Gert Driesen</author>
     3614        </member>
     3615        <member name="T:log4net.Repository.ILoggerRepository">
     3616            <summary>
     3617            Interface implemented by logger repositories.
     3618            </summary>
     3619            <remarks>
     3620            <para>
     3621            This interface is implemented by logger repositories. e.g.
     3622            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
     3623            </para>
     3624            <para>
     3625            This interface is used by the <see cref="T:log4net.LogManager"/>
     3626            to obtain <see cref="T:log4net.ILog"/> interfaces.
     3627            </para>
     3628            </remarks>
     3629            <author>Nicko Cadell</author>
     3630            <author>Gert Driesen</author>
     3631        </member>
     3632        <member name="M:log4net.Repository.ILoggerRepository.Exists(System.String)">
     3633            <summary>
     3634            Check if the named logger exists in the repository. If so return
     3635            its reference, otherwise returns <c>null</c>.
     3636            </summary>
     3637            <param name="name">The name of the logger to lookup</param>
     3638            <returns>The Logger object with the name specified</returns>
     3639            <remarks>
     3640            <para>
     3641            If the names logger exists it is returned, otherwise
     3642            <c>null</c> is returned.
     3643            </para>
     3644            </remarks>
     3645        </member>
     3646        <member name="M:log4net.Repository.ILoggerRepository.GetCurrentLoggers">
     3647            <summary>
     3648            Returns all the currently defined loggers as an Array.
     3649            </summary>
     3650            <returns>All the defined loggers</returns>
     3651            <remarks>
     3652            <para>
     3653            Returns all the currently defined loggers as an Array.
     3654            </para>
     3655            </remarks>
     3656        </member>
     3657        <member name="M:log4net.Repository.ILoggerRepository.GetLogger(System.String)">
     3658            <summary>
     3659            Returns a named logger instance
     3660            </summary>
     3661            <param name="name">The name of the logger to retrieve</param>
     3662            <returns>The logger object with the name specified</returns>
     3663            <remarks>
     3664            <para>
     3665            Returns a named logger instance.
     3666            </para>
     3667            <para>
     3668            If a logger of that name already exists, then it will be
     3669            returned.  Otherwise, a new logger will be instantiated and
     3670            then linked with its existing ancestors as well as children.
     3671            </para>
     3672            </remarks>
     3673        </member>
     3674        <member name="M:log4net.Repository.ILoggerRepository.Shutdown">
     3675            <summary>Shutdown the repository</summary>
     3676            <remarks>
     3677            <para>
     3678            Shutting down a repository will <i>safely</i> close and remove
     3679            all appenders in all loggers including the root logger.
     3680            </para>
     3681            <para>
     3682            Some appenders need to be closed before the
     3683            application exists. Otherwise, pending logging events might be
     3684            lost.
     3685            </para>
     3686            <para>
     3687            The <see cref="M:log4net.Repository.ILoggerRepository.Shutdown"/> method is careful to close nested
     3688            appenders before closing regular appenders. This is allows
     3689            configurations where a regular appender is attached to a logger
     3690            and again to a nested appender.
     3691            </para>
     3692            </remarks>
     3693        </member>
     3694        <member name="M:log4net.Repository.ILoggerRepository.ResetConfiguration">
     3695            <summary>
     3696            Reset the repositories configuration to a default state
     3697            </summary>
     3698            <remarks>
     3699            <para>
     3700            Reset all values contained in this instance to their
     3701            default state.
     3702            </para>
     3703            <para>
     3704            Existing loggers are not removed. They are just reset.
     3705            </para>
     3706            <para>
     3707            This method should be used sparingly and with care as it will
     3708            block all logging until it is completed.
     3709            </para>
     3710            </remarks>
     3711        </member>
     3712        <member name="M:log4net.Repository.ILoggerRepository.Log(log4net.Core.LoggingEvent)">
     3713            <summary>
     3714            Log the <see cref="T:log4net.Core.LoggingEvent"/> through this repository.
     3715            </summary>
     3716            <param name="logEvent">the event to log</param>
     3717            <remarks>
     3718            <para>
     3719            This method should not normally be used to log.
     3720            The <see cref="T:log4net.ILog"/> interface should be used
     3721            for routine logging. This interface can be obtained
     3722            using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
     3723            </para>
     3724            <para>
     3725            The <c>logEvent</c> is delivered to the appropriate logger and
     3726            that logger is then responsible for logging the event.
     3727            </para>
     3728            </remarks>
     3729        </member>
     3730        <member name="M:log4net.Repository.ILoggerRepository.GetAppenders">
     3731            <summary>
     3732            Returns all the Appenders that are configured as an Array.
     3733            </summary>
     3734            <returns>All the Appenders</returns>
     3735            <remarks>
     3736            <para>
     3737            Returns all the Appenders that are configured as an Array.
     3738            </para>
     3739            </remarks>
     3740        </member>
     3741        <member name="P:log4net.Repository.ILoggerRepository.Name">
     3742            <summary>
     3743            The name of the repository
     3744            </summary>
     3745            <value>
     3746            The name of the repository
     3747            </value>
     3748            <remarks>
     3749            <para>
     3750            The name of the repository.
     3751            </para>
     3752            </remarks>
     3753        </member>
     3754        <member name="P:log4net.Repository.ILoggerRepository.RendererMap">
     3755            <summary>
     3756            RendererMap accesses the object renderer map for this repository.
     3757            </summary>
     3758            <value>
     3759            RendererMap accesses the object renderer map for this repository.
     3760            </value>
     3761            <remarks>
     3762            <para>
     3763            RendererMap accesses the object renderer map for this repository.
     3764            </para>
     3765            <para>
     3766            The RendererMap holds a mapping between types and
     3767            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
     3768            </para>
     3769            </remarks>
     3770        </member>
     3771        <member name="P:log4net.Repository.ILoggerRepository.PluginMap">
     3772            <summary>
     3773            The plugin map for this repository.
     3774            </summary>
     3775            <value>
     3776            The plugin map for this repository.
     3777            </value>
     3778            <remarks>
     3779            <para>
     3780            The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
     3781            that have been attached to this repository.
     3782            </para>
     3783            </remarks>
     3784        </member>
     3785        <member name="P:log4net.Repository.ILoggerRepository.LevelMap">
     3786            <summary>
     3787            Get the level map for the Repository.
     3788            </summary>
     3789            <remarks>
     3790            <para>
     3791            Get the level map for the Repository.
     3792            </para>
     3793            <para>
     3794            The level map defines the mappings between
     3795            level names and <see cref="T:log4net.Core.Level"/> objects in
     3796            this repository.
     3797            </para>
     3798            </remarks>
     3799        </member>
     3800        <member name="P:log4net.Repository.ILoggerRepository.Threshold">
     3801            <summary>
     3802            The threshold for all events in this repository
     3803            </summary>
     3804            <value>
     3805            The threshold for all events in this repository
     3806            </value>
     3807            <remarks>
     3808            <para>
     3809            The threshold for all events in this repository.
     3810            </para>
     3811            </remarks>
     3812        </member>
     3813        <member name="P:log4net.Repository.ILoggerRepository.Configured">
     3814            <summary>
     3815            Flag indicates if this repository has been configured.
     3816            </summary>
     3817            <value>
     3818            Flag indicates if this repository has been configured.
     3819            </value>
     3820            <remarks>
     3821            <para>
     3822            Flag indicates if this repository has been configured.
     3823            </para>
     3824            </remarks>
     3825        </member>
     3826        <member name="E:log4net.Repository.ILoggerRepository.ShutdownEvent">
     3827            <summary>
     3828            Event to notify that the repository has been shutdown.
     3829            </summary>
     3830            <value>
     3831            Event to notify that the repository has been shutdown.
     3832            </value>
     3833            <remarks>
     3834            <para>
     3835            Event raised when the repository has been shutdown.
     3836            </para>
     3837            </remarks>
     3838        </member>
     3839        <member name="E:log4net.Repository.ILoggerRepository.ConfigurationReset">
     3840            <summary>
     3841            Event to notify that the repository has had its configuration reset.
     3842            </summary>
     3843            <value>
     3844            Event to notify that the repository has had its configuration reset.
     3845            </value>
     3846            <remarks>
     3847            <para>
     3848            Event raised when the repository's configuration has been
     3849            reset to default.
     3850            </para>
     3851            </remarks>
     3852        </member>
     3853        <member name="E:log4net.Repository.ILoggerRepository.ConfigurationChanged">
     3854            <summary>
     3855            Event to notify that the repository has had its configuration changed.
     3856            </summary>
     3857            <value>
     3858            Event to notify that the repository has had its configuration changed.
     3859            </value>
     3860            <remarks>
     3861            <para>
     3862            Event raised when the repository's configuration has been changed.
     3863            </para>
     3864            </remarks>
     3865        </member>
     3866        <member name="P:log4net.Repository.ILoggerRepository.Properties">
     3867            <summary>
     3868            Repository specific properties
     3869            </summary>
     3870            <value>
     3871            Repository specific properties
     3872            </value>
     3873            <remarks>
     3874            <para>
     3875            These properties can be specified on a repository specific basis.
     3876            </para>
     3877            </remarks>
     3878        </member>
     3879        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor">
     3880            <summary>
     3881            Default Constructor
     3882            </summary>
     3883            <remarks>
     3884            <para>
     3885            Initializes the repository with default (empty) properties.
     3886            </para>
     3887            </remarks>
     3888        </member>
     3889        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor(log4net.Util.PropertiesDictionary)">
     3890            <summary>
     3891            Construct the repository using specific properties
     3892            </summary>
     3893            <param name="properties">the properties to set for this repository</param>
     3894            <remarks>
     3895            <para>
     3896            Initializes the repository with specified properties.
     3897            </para>
     3898            </remarks>
     3899        </member>
     3900        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Exists(System.String)">
     3901            <summary>
     3902            Test if logger exists
     3903            </summary>
     3904            <param name="name">The name of the logger to lookup</param>
     3905            <returns>The Logger object with the name specified</returns>
     3906            <remarks>
     3907            <para>
     3908            Check if the named logger exists in the repository. If so return
     3909            its reference, otherwise returns <c>null</c>.
     3910            </para>
     3911            </remarks>
     3912        </member>
     3913        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetCurrentLoggers">
     3914            <summary>
     3915            Returns all the currently defined loggers in the repository
     3916            </summary>
     3917            <returns>All the defined loggers</returns>
     3918            <remarks>
     3919            <para>
     3920            Returns all the currently defined loggers in the repository as an Array.
     3921            </para>
     3922            </remarks>
     3923        </member>
     3924        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetLogger(System.String)">
     3925            <summary>
     3926            Return a new logger instance
     3927            </summary>
     3928            <param name="name">The name of the logger to retrieve</param>
     3929            <returns>The logger object with the name specified</returns>
     3930            <remarks>
     3931            <para>
     3932            Return a new logger instance.
     3933            </para>
     3934            <para>
     3935            If a logger of that name already exists, then it will be
     3936            returned. Otherwise, a new logger will be instantiated and
     3937            then linked with its existing ancestors as well as children.
     3938            </para>
     3939            </remarks>
     3940        </member>
     3941        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Shutdown">
     3942            <summary>
     3943            Shutdown the repository
     3944            </summary>
     3945            <remarks>
     3946            <para>
     3947            Shutdown the repository. Can be overridden in a subclass.
     3948            This base class implementation notifies the <see cref="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent"/>
     3949            listeners and all attached plugins of the shutdown event.
     3950            </para>
     3951            </remarks>
     3952        </member>
     3953        <member name="M:log4net.Repository.LoggerRepositorySkeleton.ResetConfiguration">
     3954            <summary>
     3955            Reset the repositories configuration to a default state
     3956            </summary>
     3957            <remarks>
     3958            <para>
     3959            Reset all values contained in this instance to their
     3960            default state.
     3961            </para>
     3962            <para>
     3963            Existing loggers are not removed. They are just reset.
     3964            </para>
     3965            <para>
     3966            This method should be used sparingly and with care as it will
     3967            block all logging until it is completed.
     3968            </para>
     3969            </remarks>
     3970        </member>
     3971        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Log(log4net.Core.LoggingEvent)">
     3972            <summary>
     3973            Log the logEvent through this repository.
     3974            </summary>
     3975            <param name="logEvent">the event to log</param>
     3976            <remarks>
     3977            <para>
     3978            This method should not normally be used to log.
     3979            The <see cref="T:log4net.ILog"/> interface should be used
     3980            for routine logging. This interface can be obtained
     3981            using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
     3982            </para>
     3983            <para>
     3984            The <c>logEvent</c> is delivered to the appropriate logger and
     3985            that logger is then responsible for logging the event.
     3986            </para>
     3987            </remarks>
     3988        </member>
     3989        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetAppenders">
     3990            <summary>
     3991            Returns all the Appenders that are configured as an Array.
     3992            </summary>
     3993            <returns>All the Appenders</returns>
     3994            <remarks>
     3995            <para>
     3996            Returns all the Appenders that are configured as an Array.
     3997            </para>
     3998            </remarks>
     3999        </member>
     4000        <member name="M:log4net.Repository.LoggerRepositorySkeleton.AddRenderer(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
     4001            <summary>
     4002            Adds an object renderer for a specific class.
     4003            </summary>
     4004            <param name="typeToRender">The type that will be rendered by the renderer supplied.</param>
     4005            <param name="rendererInstance">The object renderer used to render the object.</param>
     4006            <remarks>
     4007            <para>
     4008            Adds an object renderer for a specific class.
     4009            </para>
     4010            </remarks>
     4011        </member>
     4012        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnShutdown(System.EventArgs)">
     4013            <summary>
     4014            Notify the registered listeners that the repository is shutting down
     4015            </summary>
     4016            <param name="e">Empty EventArgs</param>
     4017            <remarks>
     4018            <para>
     4019            Notify any listeners that this repository is shutting down.
     4020            </para>
     4021            </remarks>
     4022        </member>
     4023        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationReset(System.EventArgs)">
     4024            <summary>
     4025            Notify the registered listeners that the repository has had its configuration reset
     4026            </summary>
     4027            <param name="e">Empty EventArgs</param>
     4028            <remarks>
     4029            <para>
     4030            Notify any listeners that this repository's configuration has been reset.
     4031            </para>
     4032            </remarks>
     4033        </member>
     4034        <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationChanged(System.EventArgs)">
     4035            <summary>
     4036            Notify the registered listeners that the repository has had its configuration changed
     4037            </summary>
     4038            <param name="e">Empty EventArgs</param>
     4039            <remarks>
     4040            <para>
     4041            Notify any listeners that this repository's configuration has changed.
     4042            </para>
     4043            </remarks>
     4044        </member>
     4045        <member name="M:log4net.Repository.LoggerRepositorySkeleton.RaiseConfigurationChanged(System.EventArgs)">
     4046            <summary>
     4047            Raise a configuration changed event on this repository
     4048            </summary>
     4049            <param name="e">EventArgs.Empty</param>
     4050            <remarks>
     4051            <para>
     4052            Applications that programmatically change the configuration of the repository should
     4053            raise this event notification to notify listeners.
     4054            </para>
     4055            </remarks>
     4056        </member>
     4057        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Name">
     4058            <summary>
     4059            The name of the repository
     4060            </summary>
     4061            <value>
     4062            The string name of the repository
     4063            </value>
     4064            <remarks>
     4065            <para>
     4066            The name of this repository. The name is
     4067            used to store and lookup the repositories
     4068            stored by the <see cref="T:log4net.Core.IRepositorySelector"/>.
     4069            </para>
     4070            </remarks>
     4071        </member>
     4072        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Threshold">
     4073            <summary>
     4074            The threshold for all events in this repository
     4075            </summary>
     4076            <value>
     4077            The threshold for all events in this repository
     4078            </value>
     4079            <remarks>
     4080            <para>
     4081            The threshold for all events in this repository
     4082            </para>
     4083            </remarks>
     4084        </member>
     4085        <member name="P:log4net.Repository.LoggerRepositorySkeleton.RendererMap">
     4086            <summary>
     4087            RendererMap accesses the object renderer map for this repository.
     4088            </summary>
     4089            <value>
     4090            RendererMap accesses the object renderer map for this repository.
     4091            </value>
     4092            <remarks>
     4093            <para>
     4094            RendererMap accesses the object renderer map for this repository.
     4095            </para>
     4096            <para>
     4097            The RendererMap holds a mapping between types and
     4098            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
     4099            </para>
     4100            </remarks>
     4101        </member>
     4102        <member name="P:log4net.Repository.LoggerRepositorySkeleton.PluginMap">
     4103            <summary>
     4104            The plugin map for this repository.
     4105            </summary>
     4106            <value>
     4107            The plugin map for this repository.
     4108            </value>
     4109            <remarks>
     4110            <para>
     4111            The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
     4112            that have been attached to this repository.
     4113            </para>
     4114            </remarks>
     4115        </member>
     4116        <member name="P:log4net.Repository.LoggerRepositorySkeleton.LevelMap">
     4117            <summary>
     4118            Get the level map for the Repository.
     4119            </summary>
     4120            <remarks>
     4121            <para>
     4122            Get the level map for the Repository.
     4123            </para>
     4124            <para>
     4125            The level map defines the mappings between
     4126            level names and <see cref="T:log4net.Core.Level"/> objects in
     4127            this repository.
     4128            </para>
     4129            </remarks>
     4130        </member>
     4131        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Configured">
     4132            <summary>
     4133            Flag indicates if this repository has been configured.
     4134            </summary>
     4135            <value>
     4136            Flag indicates if this repository has been configured.
     4137            </value>
     4138            <remarks>
     4139            <para>
     4140            Flag indicates if this repository has been configured.
     4141            </para>
     4142            </remarks>
     4143        </member>
     4144        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent">
     4145            <summary>
     4146            Event to notify that the repository has been shutdown.
     4147            </summary>
     4148            <value>
     4149            Event to notify that the repository has been shutdown.
     4150            </value>
     4151            <remarks>
     4152            <para>
     4153            Event raised when the repository has been shutdown.
     4154            </para>
     4155            </remarks>
     4156        </member>