Mon 21 Jul 22:43:21 CEST 2025
This commit is contained in:
		
							parent
							
								
									904dd3f378
								
							
						
					
					
						commit
						e3f8bd4643
					
				
							
								
								
									
										125
									
								
								js/top/.rcs/libdos.js,v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								js/top/.rcs/libdos.js,v
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,125 @@ | |||
| head	1.1; | ||||
| access; | ||||
| symbols; | ||||
| locks | ||||
| 	sbosse:1.1; strict; | ||||
| comment	@# @; | ||||
| 
 | ||||
| 
 | ||||
| 1.1 | ||||
| date	2020.02.03.09.45.01;	author sbosse;	state Exp; | ||||
| branches; | ||||
| next	; | ||||
| 
 | ||||
| 
 | ||||
| desc | ||||
| @@ | ||||
| 
 | ||||
| 
 | ||||
| 1.1 | ||||
| log | ||||
| @. | ||||
| @ | ||||
| text | ||||
| @/** | ||||
|  **      ============================== | ||||
|  **       O           O      O   OOOO | ||||
|  **       O           O     O O  O   O | ||||
|  **       O           O     O O  O   O | ||||
|  **       OOOO   OOOO O     OOO  OOOO | ||||
|  **       O   O       O    O   O O   O | ||||
|  **       O   O       O    O   O O   O | ||||
|  **       OOOO        OOOO O   O OOOO | ||||
|  **      ============================== | ||||
|  **      Dr. Stefan Bosse http://www.bsslab.de | ||||
|  ** | ||||
|  **      COPYRIGHT: THIS SOFTWARE, EXECUTABLE AND SOURCE CODE IS OWNED | ||||
|  **                 BY THE AUTHOR(S). | ||||
|  **                 THIS SOURCE CODE MAY NOT BE COPIED, EXTRACTED, | ||||
|  **                 MODIFIED, OR OTHERWISE USED IN A CONTEXT | ||||
|  **                 OUTSIDE OF THE SOFTWARE SYSTEM. | ||||
|  ** | ||||
|  **    $AUTHORS:     Stefan Bosse | ||||
|  **    $INITIAL:     (C) 2006-2017 bLAB | ||||
|  **    $CREATED:     1-10-17 by sbosse. | ||||
|  **    $VERSION:     1.1.3 | ||||
|  ** | ||||
|  **    $INFO: | ||||
|  ** | ||||
|  **  DOS library - can be embedded in any application | ||||
|  ** | ||||
|  **    $ENDOFINFO | ||||
|  */ | ||||
| var Io = Require('com/io'); | ||||
| var Comp = Require('com/compat'); | ||||
| var Name = Require('com/pwgen'); | ||||
| 
 | ||||
| var Buf = Require('dos/buf'); | ||||
| var Conn = Require('dos/connection'); | ||||
| var Cs = Require('dos/capset'); | ||||
| var Dios = Require('dos/dios'); | ||||
| var Dns = Require('dos/dns'); | ||||
| var HostSrv = Require('dos/hostsrv'); | ||||
| var Net = Require('dos/network'); | ||||
| var Sch = Require('dos/scheduler'); | ||||
| var Rpc = Require('dos/rpc'); | ||||
| var Run = Require('dos/run'); | ||||
| var RunSrv = Require('dos/runsrv'); | ||||
| var Std = Require('dos/std'); | ||||
| var Router = Require('dos/router'); | ||||
| var util =  require('util'); | ||||
| 
 | ||||
| function dos(options) { | ||||
|   if (!(this instanceof dos)) return new dos(options);   | ||||
|   this.options  = options||{}; | ||||
|   this.env      = options.env||{}; | ||||
|   this.verbose  = options.verbose||0; | ||||
| 
 | ||||
|   this.run      = false; | ||||
|   this.looprun  = none; | ||||
| 
 | ||||
|   this.broker   = options.http||options.tcpnet; | ||||
|   this.bport    = options.bport||3001; | ||||
|   this.bip      = options.bip; | ||||
|    | ||||
|   this.privhostport = Net.uniqport(); | ||||
|   this.pubhostport  = Net.prv2pub(this.privhostport); | ||||
|    | ||||
|   if (this.verbose>1) Io.out('[DOS] public port: '+Net.Print.port(this.pubhostport)); | ||||
|   options.pubhostport = this.pubhostport; | ||||
|   this.scheduler  = options.scheduler || Sch.TaskScheduler(); | ||||
|   this.network    = options.network   || Conn.setup(options,1); | ||||
| 
 | ||||
|   this.router     = this.network.router; | ||||
|   // this.router.log(2); | ||||
|   // network.XX uses global scheduler | ||||
|   this.rpc  = this.network.rpc; | ||||
|   this.std  = this.network.std; | ||||
|   this.dns  = this.network.dns; | ||||
|   this.cs   = this.network.cs; | ||||
|   this.dios = Dios.Dios(this.network.rpc,this.network.env); | ||||
| } | ||||
| dos.prototype.init = function() { | ||||
|   this.scheduler.Init(); | ||||
|   this.network.init(); | ||||
| } | ||||
| dos.prototype.start = function(callback) { | ||||
|   this.scheduler.Run(); | ||||
|   this.network.start(callback); | ||||
| } | ||||
| 
 | ||||
| module.exports = { | ||||
|   dos:dos, | ||||
|   Buffer:Buf, | ||||
|   Connection:Conn, | ||||
|   Cs:Cs, | ||||
|   Dios:Dios, | ||||
|   Network:Net, | ||||
|   Rpc:Rpc, | ||||
|   Router:Router, | ||||
|   Run:Run, | ||||
|   Scheduler:Sch, | ||||
|   Std:Std | ||||
| } | ||||
| 
 | ||||
| @ | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user