class SPNet::SignalInPort

Recieves signal input for processing in a Block object.

@author James Tunnell

Constants

ARG_SPECS

Define arg specs to use in processing hashed arguments during initialize.

Attributes

limiter[R]
queue[R]

Public Class Methods

new(hashed_args = {}) click to toggle source

A new instance of SignalInPort. @param [Hash] hashed_args Hashed arguments for initialization. See Network::ARG_SPECS

for details.
Calls superclass method SPNet::InPort::new
# File lib/spnet/ports/signal_in_port.rb, line 20
def initialize hashed_args = {}
  hash_make hashed_args, SignalInPort::ARG_SPECS
  
  @queue = []
  @skip_limiting = @limiter.is_a?(NoLimiter)

  super(:matching_class => SignalOutPort)
end

Public Instance Methods

dequeue_values(count = @queue.count) click to toggle source

Remove values to queue. @param [Fixnum] count Number of values to remove.

# File lib/spnet/ports/signal_in_port.rb, line 42
def dequeue_values count = @queue.count
  raise ArgumentError, "count is greater than @queue.count" if count > @queue.count
  @queue.slice!(0...count)
end
enqueue_values(values) click to toggle source

Add values to queue.

# File lib/spnet/ports/signal_in_port.rb, line 30
def enqueue_values values
  unless @skip_limiting
    for i in 0...values.count
      values[i] = @limiter.apply_limit values[i]
    end
  end
  
  @queue.concat values
end