Here are the two changes, they are in the process-ports function and the 
hipe-serv object type
I obviously have only tested these chages for my particular scenario

process-ports: func
  [
    {Processes all ports that have events.}
    portz [block!] {The port list}
    /local temp-obj
  ]
  [
    repeat item portz
    [
      either (is-server? item)
      [
        either item/scheme = 'udp
        ;udp, so call our handler
        [
          temp-obj: get-handler item
          temp-obj copy item
        ]
        [
          init-conn-port item first item
        ]
      ]
      [
        if item/scheme = 'tcp
        [
          rugby-server/current-ip: item/remote-ip <------NEW
          temp-obj: select hipe-serv/object-q item
          temp-obj/lastaccess: now
          temp-obj/handler temp-obj

        ]
      ]
    ]


hipe-serv: make object!
[
  ;Our list of server ports
  server-ports: copy []
  ;Our server to handler mapping
  server-map: copy []
  ; The list of ports we wait/all for in our main loop
  port-q: copy []
  ; Mapping of ports to objects containg additional info
  object-q: copy []
  ; Restricted server list
  restricted-server: make block! 20
  ; Server restrictions?
  restrict: no
  ;The thread queue
  threads: copy []
  current-thread: none
  conn-timeout: 0:0:30
  current-ip: none <---------NEW
  max-thread-waiting: 100

Matt MacDonald

_________________________________________________________________
Great deals on high-speed Internet access as low as $26.95.  
https://broadband.msn.com (Prices may vary by service area.)

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to