 ; You should have received a copy of the GNU Affero General Public License
 ; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-
 (ns iyye.ioframes
   (:require
     [clojure.tools.logging :as log]))


(defn create-IO [name start-fumction inputs-list outputs-list] (IO. name start-fumction inputs-list outputs-list))
; list of IOs
(def AvatarsIOList (ref ()))

;(defrecord InputOutput [InOutStream Period Stream unprocessed Streams ProcessFunction])
; actuators

;  (dosync (alter outputs-list conj output)))

; start all input threads

(defn process-input [IO input]
  (log/info (str (:name IO) input))
  (for [func (map :input-listeners-list IO)
        :when func] (func input)))

