autodoc.git
/
traditional.xml
version
»
Context lines:
10
20
40
80
file
none
3
autodoc.git/traditional.xml:1:
<?xml version='1.0' encoding='utf-8'?>
-
<manual time-stamp='2019-03-
09
' version='Pike v8.1.13'>
+
<manual time-stamp='2019-03-
19
' version='Pike v8.1.13'>
<dir name='./traditional_manual'> <file name='./traditional_manual/index.html'> <chapter title='Table of Contents' unnumbered='1'> <dl><dt><url href='index.html'>Table of Contents</url></dt> <dt><url href='chapter_1.html'>1. Introduction</url></dt> <dd><url href='chapter_1.html#1'>1.1. Overview</url></dd> <dd><url href='chapter_1.html#2'>1.2. The history of Pike</url></dd> <dd><url href='chapter_1.html#3'>1.3. A comparison with other languages</url></dd> <dd><url href='chapter_1.html#4'>1.4. What is Pike</url></dd> <dd><url href='chapter_1.html#5'>1.5. Pike License</url></dd>
autodoc.git/traditional.xml:129023:
public keys must be set.</p> </text></group><group><param name='name'/><text><p>The distinguished name for the certificate.</p> </text></group><group><param name='attributes'/><text><p>Attributes from PKCS #9 to add to the certificate.</p> </text></group><group><param name='hash'/><text><p>Hash algoritm to use for the CSR signature. Defaults to <ref resolved='predef::Crypto.SHA256'>Crypto.SHA256</ref>.</p> </text></group><group><note/><text><p>Prior to Pike 8.0 this function only supported signing with <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref> and the default (and only) hash was <ref resolved='predef::Crypto.MD5'>Crypto.MD5</ref>.</p> </text></group></doc> <method name='build_csr'>
-
<arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments>
+
<arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::
Standards.ASN1.Types.
Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments>
<returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></returntype> </method> </docgroup> <docgroup homogen-name='' homogen-type='import'> <import name=''><classname resolved='predef::'>predef::</classname></import> </docgroup> <docgroup homogen-name='Types' homogen-type='import'> <import name='Types'><classname resolved='predef::Standards.ASN1.Types'>Standards.ASN1.Types</classname></import> </docgroup> <docgroup homogen-name='sign_cri' homogen-type='method'><doc><text><p>Sign a <ref resolved='predef::Standards.PKCS.CSR.CRI'>CRI</ref> to generate a Certificate Signing Request.</p>
autodoc.git/traditional.xml:129473:
<p>Setting</p> <p> The signature.</p> </text></doc> <variable name='signature'><type><object resolved='predef::Standards.ASN1.Types.BitString'>BitString</object></type></variable> </docgroup> <docgroup homogen-name='tbs' homogen-type='variable'><doc><text><p>Getting</p> <p> ASN.1 structure that has been signed.</p> <p>Setting</p> <p> ASN.1 structure that has been signed.</p> </text></doc>
-
<variable name='tbs'><type><object resolved='predef::Object'>Object</object></type></variable>
+
<variable name='tbs'><type><object resolved='predef::
Standards.ASN1.Types.
Object'>Object</object></type></variable>
</docgroup> </class> </module> </module> <module name='TLD'> <docgroup homogen-name='cc' homogen-type='constant'><doc><text><p>A mapping between country TLDs and the name of the country.</p> </text></doc> <constant name='cc'/> </docgroup> <docgroup homogen-name='generic' homogen-type='variable'><doc><text><p>A multiset containing the generic TLDs, such as "com" and "info".</p>
autodoc.git/traditional.xml:129985:
<method name='load_authorities'> <arguments><argument name='root_cert_dirs'><type><or><string/><array><valuetype><string/></valuetype></array><void/></or></type></argument><argument name='cache'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments> <returntype><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Standards.X509.Verifier'>Verifier</object></valuetype></array></valuetype></mapping></returntype> </method> </docgroup> <docgroup homogen-name='make_extension' homogen-type='method'><doc><text><p>Creates a certificate extension with the <ref resolved='predef::Standards.X509.make_extension.id'>id</ref> as identifier and <ref resolved='predef::Standards.X509.make_extension.ext'>ext</ref> as the extension payload. If the <ref resolved='predef::Standards.X509.make_extension.critical'>critical</ref> flag is set the extension will be marked as critical.</p> </text></doc> <method name='make_extension'>
-
<arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments>
+
<arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::
Standards.ASN1.Types.
Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments>
<returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></returntype> </method> </docgroup> <docgroup homogen-name='make_selfsigned_certificate' homogen-type='method'><doc><text><p>Creates a selfsigned certificate, i.e. where issuer and subject are the same entity. This entity is derived from the list of pairs in <ref resolved='predef::Standards.X509.make_selfsigned_certificate.name'>name</ref>, which is encoded into an distinguished_name by <ref resolved='predef::Standards.PKCS.Certificate.build_distinguished_name'>Standards.PKCS.Certificate.build_distinguished_name</ref>.</p> </text><group><param name='c'/><text><p>The public key cipher used for the certificate, <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref>, <ref resolved='predef::Crypto.DSA'>Crypto.DSA</ref> or <ref resolved='predef::Crypto.ECC.Curve.ECDSA'>Crypto.ECC.Curve.ECDSA</ref>. The object should be initialized with both public and private keys.</p>
autodoc.git/traditional.xml:130269:
</docgroup> <docgroup homogen-name='ext_subjectKeyIdentifier' homogen-type='variable'><doc><text><p>Set to the value of the SubjectKeyIdentifier if the certificate contains the subjectKeyIdentifier extension. <rfc>3280:4.2.1.2</rfc>.</p> </text></doc> <variable name='ext_subjectKeyIdentifier'><type><string/></type></variable> </docgroup> <docgroup homogen-name='extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p> </text></group><group><note/><text><p>Read only</p> </text></group></doc>
-
<variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable>
+
<variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::
Standards.ASN1.Types.
Object'>Object</object></valuetype></mapping></type></variable>
</docgroup> <docgroup homogen-name='hash' homogen-type='variable'><doc><text><p>Algorithm hash if known and supported. Otherwise <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref>.</p> </text><group><note/><text><p>Read only</p> </text></group></doc> <variable name='hash'><type><object resolved='predef::Crypto.Hash'>Crypto.Hash</object></type></variable> </docgroup> <docgroup homogen-name='Sequence' homogen-type='inherit'> <inherit name='Sequence'><classname resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</classname></inherit> </docgroup> <docgroup homogen-name='init' homogen-type='method'><doc><text><p>Populates the object from a certificate decoded into an ASN.1 Object. Returns the object on success, otherwise <expr>0</expr>. You probably want to call <ref resolved='predef::Standards.X509.decode_certificate'>decode_certificate</ref> or even <ref resolved='predef::Standards.X509.verify_certificate'>verify_certificate</ref>.</p> </text></doc> <method name='init'>
-
<arguments><argument name='asn1'><type><or><array/><object resolved='predef::Object'>Object</object></or></type></argument></arguments>
+
<arguments><argument name='asn1'><type><or><array/><object resolved='predef::
Standards.ASN1.Types.
Object'>Object</object></or></type></argument></arguments>
<returntype><object resolved='predef::Standards.X509.TBSCertificate'>this_program</object></returntype> </method> </docgroup> <docgroup homogen-name='internal_critical' homogen-type='variable'><doc><group><note/><text><p>optional</p> </text></group></doc> <variable name='internal_critical'><modifiers><protected/></modifiers><type><multiset/></type></variable> </docgroup> <docgroup homogen-name='internal_extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p> </text></group></doc>
-
<variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable>
+
<variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::
Standards.ASN1.Types.
Object'>Object</object></valuetype></mapping></type></variable>
</docgroup> <docgroup homogen-name='issuer' homogen-type='variable'><doc><text><p>Certificate issuer.</p> </text></doc> <variable name='issuer'><type><void/></type></variable> </docgroup> <docgroup homogen-name='issuer_id' homogen-type='variable'><doc><group><note/><text><p>optional</p> </text></group></doc> <variable name='issuer_id'><type><void/></type></variable> </docgroup> <docgroup homogen-name='keyinfo' homogen-type='variable'>
autodoc.git/traditional.xml:132600:
<arguments><argument name='mutex_key'><type><object resolved='predef::Thread.MutexKey'>Thread.MutexKey</object></type></argument><argument name='seconds'><type><or><int><min>0</min><max/></int><float/></or></type></argument></arguments> <returntype><void/></returntype> </method> <method name='wait'> <arguments><argument name='mutex_key'><type><object resolved='predef::Thread.MutexKey'>Thread.MutexKey</object></type></argument><argument name='seconds'><type><int><min>0</min><max/></int></type></argument><argument name='nanos'><type><int><min>0</min><max>999999999</max></int></type></argument></arguments> <returntype><void/></returntype> </method> </docgroup> </class> <class name='Farm'>
-
<modifiers><optional/></modifiers>
+
<doc><text><p>A thread farm.</p> </text></doc> <docgroup homogen-name='debug_status' homogen-type='method'><doc><text><p>Get some statistics for the thread farm.</p> </text></doc> <method name='debug_status'> <arguments/> <returntype><string/></returntype> </method> </docgroup> <docgroup homogen-name='run' homogen-type='method'><doc><text><p>Register a job for the thread farm.</p>
autodoc.git/traditional.xml:132714:
<docgroup homogen-name='debug_status' homogen-type='method'><doc><text><p>Get some statistics about the worker thread.</p> </text></doc> <method name='debug_status'> <arguments/> <returntype><string/></returntype> </method> </docgroup> </class> <class name='Result'> <doc><text><p>An asynchronous result.</p>
-
</text></doc>
+
</text><
group><fixme
/
><text><p>This class ought to be made <ref resolved='predef::Concurrent.Future'>Concurrent.Future</ref>-compatible.</p>
+
</text></group></
doc>
<docgroup homogen-name='`()' homogen-type='method'><doc><text><p>Wait for completion.</p> </text></doc> <method name='`()'> <arguments/> <returntype><mixed/></returntype> </method> </docgroup> <docgroup homogen-name='provide' homogen-type='method'><doc><text><p>Register a completed result.</p> </text><group><param name='what'/><text><p>The result to register.</p> </text></group></doc>
autodoc.git/traditional.xml:132771:
arrived yet.</p> </text></group><group><value>-1</value><text><p>Returns negative on failure.</p> </text></group></int> </text></group></doc> <method name='status'> <arguments/> <returntype><int/></returntype> </method> </docgroup> </class>
+
<class name='ResultWrapper'>
+
<modifiers><protected/></modifiers>
+
<doc><text><p>A wrapper for an asynchronous result.</p>
+
</text><group><note/><text><p>This wrapper is used to detect when the
+
user discards the values returned from
+
<ref resolved='predef::Thread.Farm.run'>run()</ref> or <ref resolved='predef::Thread.Farm.run_multiple'>run_multiple()</ref>, so that
+
any errors thrown aren't lost.</p>
+
</text></group></doc>
+
<docgroup homogen-name='`()' homogen-type='method'><doc><text><p>Wait for completion.</p>
+
</text></doc>
+
<method name='`()'>
+
<arguments/>
+
<returntype><mixed/></returntype>
+
</method>
+
</docgroup>
+
<docgroup homogen-name='create' homogen-type='method'>
+
<method name='create'><modifiers><protected/></modifiers>
+
<arguments><argument name='ro'><type><object resolved='predef::Thread.Farm.Result'>Result</object></type></argument></arguments>
+
<returntype><void/></returntype>
+
</method>
+
</docgroup>
+
<docgroup homogen-name='provide' homogen-type='variable'><doc><text><p>Register a completed result.</p>
+
</text><group><param name='what'/><text><p>The result to register.</p>
+
</text></group><group><note/><text><p>Read only</p>
+
</text></group></doc>
+
<variable name='provide'><type><function><argtype><mixed/></argtype><returntype><void/></returntype></function></type></variable>
+
</docgroup>
+
<docgroup homogen-name='provide_error' homogen-type='variable'><doc><text><p>Register a failure.</p>
+
</text><group><param name='what'/><text><p>The corresponding backtrace.</p>
+
</text></group><group><note/><text><p>Read only</p>
+
</text></group></doc>
+
<variable name='provide_error'><type><function><argtype><mixed/></argtype><returntype><void/></returntype></function></type></variable>
+
</docgroup>
+
<docgroup homogen-name='result' homogen-type='variable'><doc><group><returns/><text><p>Returns the result if available, a backtrace on failure,
+
and <expr>0</expr> (zero) otherwise.</p>
+
</text></group><group><note/><text><p>Read only</p>
+
</text></group></doc>
+
<variable name='result'><type><function><returntype><mixed/></returntype></function></type></variable>
+
</docgroup>
+
<docgroup homogen-name='ro' homogen-type='variable'>
+
<variable name='ro'><type><object resolved='predef::Thread.Farm.Result'>Result</object></type></variable>
+
</docgroup>
+
<docgroup homogen-name='set_done_cb' homogen-type='method'><doc><text><p>Register a callback to be called when
+
the result is available.</p>
+
</text><group><param name='to'/><text><p>Callback to be called. The first
+
argument to the callback will be
+
the result or the failure backtrace,
+
and the second <expr>0</expr> (zero) on
+
success, and <expr>1</expr> on failure.</p>
+
</text></group></doc>
+
<method name='set_done_cb'>
+
<arguments><argument name='cb'><type><function/></type></argument></arguments>
+
<returntype><void/></returntype>
+
</method>
+
</docgroup>
+
<docgroup homogen-name='status' homogen-type='variable'><doc><group><returns/><text><int><group><value>1</value><text><p>Returns <expr>1</expr> when the result is available.</p>
+
</text></group><group><value>0</value><text><p>Returns <expr>0</expr> (zero) when the result hasn't
+
arrived yet.</p>
+
</text></group><group><value>-1</value><text><p>Returns negative on failure.</p>
+
</text></group></int>
+
</text></group><group><note/><text><p>Read only</p>
+
</text></group></doc>
+
<variable name='status'><type><function><returntype><int/></returntype></function></type></variable>
+
</docgroup>
+
</class>
<class name='ValueAdjuster'> <modifiers><protected/></modifiers> <docgroup homogen-name='create' homogen-type='method'> <method name='create'><modifiers><protected/></modifiers> <arguments><argument name='r'><type><object resolved='predef::Thread.Farm.ValueAdjuster.create'/></type></argument><argument name='r2'><type><object resolved='predef::Thread.Farm.ValueAdjuster.create'/></type></argument><argument name='i'><type><int/></type></argument><argument name='v'><type><mapping/></type></argument></arguments> <returntype><void/></returntype> </method> </docgroup> <docgroup homogen-type='variable'> <variable name='r'><type><object resolved='predef::Thread.Farm.ValueAdjuster'/></type></variable> <variable name='r2'><type><object resolved='predef::Thread.Farm.ValueAdjuster'/></type></variable> <variable name='i'><type><int/></type></variable> <variable name='v'><type><mapping/></type></variable> </docgroup> </class> </class> <class name='Fifo'>
-
<modifiers><optional/></modifiers>
+
<doc><text><p><ref resolved='predef::Thread.Fifo'>Fifo</ref> implements a fixed length first-in, first-out queue. A fifo is a queue of values and is often used as a stream of data between two threads.</p> </text><group><seealso/><text><p><ref resolved='predef::Thread.Queue'>Queue</ref></p> </text></group></doc> <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a fifo. If the optional <ref resolved='predef::Thread.Fifo.create.size'>size</ref> argument is present it sets how many values can be written to the fifo without blocking. The default <ref resolved='predef::Thread.Fifo.create.size'>size</ref> is 128.</p> </text></doc> <method name='create'>
autodoc.git/traditional.xml:133024:
<arguments/> <returntype><object resolved='predef::Thread.MutexKey'>MutexKey</object></returntype> </method> <method name='trylock'> <arguments><argument name='type'><type><int/></type></argument></arguments> <returntype><object resolved='predef::Thread.MutexKey'>MutexKey</object></returntype> </method> </docgroup> </class> <class name='MutexKey'>
-
<modifiers><optional/></modifiers>
+
<doc><text><p>Objects of this class are returned by <ref resolved='predef::Thread.Mutex.lock'>Mutex()->lock()</ref> and <ref resolved='predef::Thread.Mutex.trylock'>Mutex()->trylock()</ref>. They are also passed as arguments to <ref resolved='predef::Thread.Condition.wait'>Condition()->wait()</ref>.</p> <p> As long as they are held, the corresponding mutex will be locked.</p> <p> The corresponding mutex will be unlocked when the object is destructed (eg by not having any references left).</p> </text><group><seealso/><text><p><ref resolved='predef::Thread.Mutex'>Mutex</ref>, <ref resolved='predef::Thread.Condition'>Condition</ref></p> </text></group></doc> <docgroup homogen-name='create' homogen-type='method'> <method name='create'><modifiers><protected/></modifiers>
autodoc.git/traditional.xml:133047:
</method> </docgroup> <docgroup homogen-name='dec_locks' homogen-type='variable'> <variable name='dec_locks'><modifiers><protected/></modifiers><type><function><returntype><void/></returntype></function></type></variable> </docgroup> <docgroup homogen-name='DestructImmediate' homogen-type='inherit'> <inherit name='DestructImmediate'><classname>Builtin.DestructImmediate</classname></inherit> </docgroup> </class> <class name='Queue'>
-
<modifiers><optional/></modifiers>
+
<doc><text><p><ref resolved='predef::Thread.Queue'>Queue</ref> implements a queue, or a pipeline. The main difference between <ref resolved='predef::Thread.Queue'>Queue</ref> and <ref resolved='predef::Thread.Fifo'>Fifo</ref> is that <ref resolved='predef::Thread.Queue'>Queue</ref> will never block in write(), only allocate more memory.</p> </text><group><fixme/><text><p>Ought to be made API-compatible with <ref resolved='predef::ADT.Queue'>ADT.Queue</ref>.</p> </text></group><group><seealso/><text><p><ref resolved='predef::Thread.Fifo'>Fifo</ref>, <ref resolved='predef::ADT.Queue'>ADT.Queue</ref></p> </text></group></doc> <docgroup homogen-name='lock' homogen-type='inherit'> <inherit name='lock'><classname resolved='predef::Thread.Mutex'>Mutex</classname></inherit> </docgroup> <docgroup homogen-name='r_cond' homogen-type='inherit'>
autodoc.git/traditional.xml:133133:
The number of items in the queue after the write is returned.</p> </text><group><seealso/><text><p><ref resolved='predef::Thread.Queue.read'>read()</ref></p> </text></group></doc> <method name='write'> <arguments><argument name='value'><type><mixed/></type></argument></arguments> <returntype><int/></returntype> </method> </docgroup> </class> <class name='ResourceCount'>
-
<modifiers><optional/></modifiers>
+
<doc><text><p>Implements an inverted-semaphore-like resource counter. A thread can poll or perform a blocking wait for the resource-count to drop below a certain <ref>level</ref>.</p> </text><group><seealso/><text><p><ref resolved='predef::Thread.ResourceCountKey'>ResourceCountKey</ref>, <ref resolved='predef::Thread.Condition'>Condition</ref>, <ref resolved='predef::Thread.Mutex'>Mutex</ref></p> </text></group></doc> <docgroup homogen-name='acquire' homogen-type='method'><doc><text><p>Increments the resource-counter.</p> </text><group><returns/><text><p>A <ref resolved='predef::Thread.ResourceCountKey'>ResourceCountKey</ref> to decrement the resource-counter again.</p> </text></group></doc> <method name='acquire'><modifiers><final/></modifiers> <arguments/>
autodoc.git/traditional.xml:133165:
<docgroup homogen-name='wait_till_drained' homogen-type='method'><doc><text><p>Blocks until the resource-counter dips to max <ref resolved='predef::Thread.ResourceCount.wait_till_drained.level'>level</ref>.</p> </text><group><param name='level'/><text><p>The maximum level that is considered drained.</p> </text></group></doc> <method name='wait_till_drained'><modifiers><final/></modifiers> <arguments><argument name='level'><type><or><void/><int/></or></type></argument></arguments> <returntype><void/></returntype> </method> </docgroup> </class> <class name='ResourceCountKey'>
-
<modifiers><optional/></modifiers>
+
<doc><text><p>When this key is destroyed, the corresponding resource counter will be decremented.</p> </text><group><seealso/><text><p><ref resolved='predef::Thread.ResourceCount'>ResourceCount</ref>, <ref resolved='predef::Thread.MutexKey'>MutexKey</ref></p> </text></group></doc> <docgroup homogen-name='DestructImmediate' homogen-type='inherit'> <inherit name='DestructImmediate'><modifiers><private/></modifiers><classname>__builtin.DestructImmediate</classname></inherit> </docgroup> </class> <class name='Thread'> <docgroup homogen-name='_sprintf' homogen-type='method'><doc><text><p>Returns a string identifying the thread.</p>