Changeset 2177


Ignore:
Timestamp:
09/29/10 17:24:30 (20 months ago)
Author:
tolteque
Message:

o LoDyn?

o Create loDynServer
o Start loDynServer
o Invoke most of the interfaces of loDynServer from luaServer (still positions to process)

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/lotatc_server/lotatc_FC2.lua

    r2132 r2177  
    164164      end 
    165165    end 
     166     
     167    -- Not yet tested  
     168    return 
     169     
     170    -- Remove detectedWeapon which are no more present 
     171    for weaponId, weaponInfo in pairs( self.detectedWeapon) do 
     172      if ( not worldObjects[weaponId]) and ( not ballisticObjects[weaponId]) then 
     173        self.detectedWeapon[weaponId] = nil 
     174      end 
     175    end 
     176     
     177     
    166178  end, 
    167179   
  • trunk/lotatc_server/lotatc_luaServer.py

    r2132 r2177  
    2828from lotatc_object      import * 
    2929from lotatc_radarList   import * 
     30from lotatc_lodynServer import * 
    3031 
    3132# Common declaration with export.lua and LuaServer 
     
    6263    # Save dbParser parser instance 
    6364    self.dbParser = server.dbParser 
     65    # Retrieve loDynServer instance 
     66    self.loDynServer = server.loDynServer 
    6467 
    6568    # Init LostAndFound 
     
    410413    # ------------------------------------------------------------------------------------- 
    411414    elif command == END_OF_TIME_SLOT: 
    412       # Process loast and found units 
     415      # Foward lost and found units to loDynServer 
    413416      if self.foundUnit or self.lostUnit: 
    414         print "Process lost and found units" 
     417        # Process found units 
    415418        for unit, group in self.foundUnit.iteritems(): 
    416           print "Found unit %s for group %s" % ( unit, group) 
     419          self.loDynServer.newUnit( group, unit) 
     420           
     421        # Process killed units 
    417422        for unit, group in self.lostUnit.iteritems(): 
    418           print "Lost unit %s for group %s" % ( unit, group) 
    419            
    420       self.lostUnit  = {} 
     423          self.loDynServer.unitKilled( group, unit) 
     424        self.lostUnit  = {} 
     425         
     426        # As there was some info, foward that to loDynServer 
     427        self.loDynServer.endOfSlot() 
     428         
    421429      return True 
    422430 
     
    431439      weaponName  = unicode( items[2], self.luaServer.lo_encoding) 
    432440      weaponCount = int( items[3]) 
    433       print "%s has launched %d %s" % ( self.localObjectsDb[objectId].pilotName, weaponCount, weaponName) 
    434        
     441       
     442      # Forward this info to loDynServer 
     443      self.loDynServer.weaponUsed( self.localObjectsDb[objectId].groupName 
     444                                 , self.localObjectsDb[objectId].pilotName 
     445                                 , weaponName 
     446                                 , weaponCount 
     447                                 ) 
    435448       
    436449    # ------------------------------------------------------------------------------------- 
     
    493506      self.logger.info("Start time: %s" % items[1]) 
    494507      self.logger.info("Sampling period: %s" % items[2]) 
     508       
     509      # Forward info to loDynServer 
     510      self.loDynServer.startOfMission() 
     511       
    495512 
    496513    # ------------------------------------------------------------------------------------- 
     
    508525         self.coalitionLocks[coalition].release() 
    509526      self.mainInfo["EndOfMission"] = True 
     527       
     528      # Forward info to loDynServer 
     529      self.loDynServer.endOfMission() 
    510530       
    511531    else: 
     
    675695  # @param coalitionObjects,        To share detected objects with radars 
    676696  # @param coalitionLocks             Lock on coalitionObjects 
    677   def __init__(self, serverAddress, mainInfo, globalServerConfig, dbParser, 
    678               meshServer, coalitionObjects, coalitionLocks): 
     697  def __init__( self, serverAddress, loDynServer, mainInfo, globalServerConfig, dbParser 
     698              , meshServer, coalitionObjects, coalitionLocks): 
    679699    self.logger = logging.getLogger('[LuaServer]') 
    680700    self.logger.debug("__init__") 
     
    684704        
    685705    # Save parameters 
     706    self.loDynServer = loDynServer 
    686707    self.mainInfo = mainInfo 
    687708    self.mainInfo["TimeStamp"] = {} 
  • trunk/lotatc_server_ui.py

    r2165 r2177  
    5151from lotatc_radarServer  import RadarServer 
    5252from datalink_server     import DataLinkServer 
     53from lotatc_lodynServer  import LoDynServer 
    5354from missionPlaybackDlg  import *   
    5455from lua_export_check    import check_exports 
     
    146147#----------------------------------- SERVER FUNCTIONS 
    147148def launch_servers(): 
     149 
     150    # Create the loDynServer 
     151    g_window.loDynServer = LoDynServer( ('',  CST_LODYN_PORT)) 
     152    g_window.loDynServer.lo_encoding = g_window.encoding 
     153    g_window.loDynServerThread = threading.Thread(target = g_window.loDynServer.serve_forever) 
     154    g_window.loDynServerThread.setDaemon(True)  
     155    g_window.loDynServerThread.start() 
     156     
    148157    # Create the luaServer which receive data from lua (lua is the client ...) 
    149158    g_window.luaServer = LuaServer( ('',  CST_LUA_PORT) 
     159                                  , g_window.loDynServer 
    150160                                  , g_window.mainInfo 
    151161                                  , g_window.configuration 
     
    156166                                  ) 
    157167    g_window.luaServer.lo_encoding = g_window.encoding 
    158     # Create, configure and start a thread for this server 
    159168    g_window.luaServerThread = threading.Thread(target = g_window.luaServer.serve_forever) 
    160169    g_window.luaServerThread.setDaemon(True)  
    161170    g_window.luaServerThread.start() 
    162171     
    163     # Now create the RadarServer. There will a thread per connection 
     172    # Create the RadarServer. There will a thread per connection 
    164173    g_window.radarServer = RadarServer( ('',  CST_RADAR_PORT) 
    165174                                      ,  g_window.mainInfo 
     
    173182    g_window.radarServerThread.setDaemon(True)  
    174183    g_window.radarServerThread.start() 
    175     # Now create the DataLink. There will a thread per connection 
    176     g_window.datalinkServer = DataLinkServer( ('',  CST_DATALINK_PORT), 
    177                                         g_window.radarServer, 
    178                                         g_pathname) 
     184     
     185    # Create the DataLink. There will a thread per connection 
     186    g_window.datalinkServer = DataLinkServer( ('',  CST_DATALINK_PORT) 
     187                                            , g_window.radarServer 
     188                                            , g_pathname 
     189                                            ) 
    179190    g_window.datalinkServerThread = threading.Thread(target = g_window.datalinkServer.serve_forever) 
    180191    g_window.datalinkServerThread.setDaemon(True)  
    181192    g_window.datalinkServerThread.start() 
    182193    g_window.server_run = True 
     194     
     195 
    183196#----------------------------------- 
    184197def load_dbParser( version, stop=False): 
     
    420433    g_window.radarServer = None 
    421434    g_window.datalinkServer = None 
     435    g_window.lorealityServer = None 
    422436    g_window.log_to_play = None 
    423437    g_window.play_back_window = None 
Note: See TracChangeset for help on using the changeset viewer.