var searchIndex = {}; searchIndex["rustfbp"] = {"doc":"","items":[[0,"component","rustfbp","This module helps to create a Component",null,null],[8,"Component","rustfbp::component","Provide the generic functions of components",null,null],[10,"get_ports","","Return a muttable borrow to the Ports object.",0,null],[10,"is_input_ports","","Return true if there is at least one input port",0,null],[10,"run","","Run the method of the component, his personal logic",0,null],[0,"scheduler","rustfbp","manages the execution of a FBP graph.",null,null],[3,"Comp","rustfbp::scheduler","This structure keep all the information for the "exterior scheduler".",null,null],[12,"inputs","","Keep the IPSender of the input ports",1,null],[12,"inputs_array","","Keep the IPSender of the array input ports",1,null],[12,"sort","","The type of the component",1,null],[12,"start","","True if a component had no input port",1,null],[3,"Scheduler","","the exterior scheduler. The end user use the methods of this structure.",null,null],[12,"cache","","Keep the dylib of the loaded components",2,null],[12,"components","","Keep the component",2,null],[12,"sender","","A sender to send message to the scheduler",2,null],[12,"error_receiver","","Received the error from the "interior scheduler"",2,null],[3,"ComponentLoader","","Contains all the information of a dylib components",null,null],[3,"ComponentCache","","Keep all the dylib components and load them",null,null],[4,"CompMsg","","All the messages that can be send between the "exterior scheduler" and the "interior scheduler".",null,null],[13,"NewComponent","","Add a new component. The String is the name, the BoxedComp is the component itself",3,null],[13,"Halt","","Stop the scheduler",3,null],[13,"HaltState","","Try to stop the sheduler state",3,null],[13,"Start","","Start a component",3,null],[13,"ConnectOutputPort","","Connect the output port",3,null],[13,"ConnectOutputArrayPort","","Connect the array output port",3,null],[13,"Disconnect","","Disconnect an output port",3,null],[13,"DisconnectArray","","Disconnect an array output port",3,null],[13,"AddInputArraySelection","","Add an selection in an array input port",3,null],[13,"RemoveInputArraySelection","","Remove an selection in an array input port",3,null],[13,"AddOutputArraySelection","","Add an selection in an array output port",3,null],[13,"RunEnd","","Signal the end of an execution",3,null],[13,"SetReceiver","","Set the receiver of an input port",3,null],[13,"Inc","","The component received an IP",3,null],[13,"Dec","","The component read an IP",3,null],[13,"Remove","","Remove a component",3,null],[4,"SyncMsg","","To be removed, replace by async msg",null,null],[13,"Remove","","",4,null],[13,"CannotRemove","","",4,null],[6,"BoxedComp","","A boxed comp is a component that can be send between thread",null,null],[11,"new","","Create a new scheduler",2,{"inputs":[],"output":{"name":"self"}}],[11,"add_component","","Add a component to the scheduler",2,null],[11,"start","","Start the scheduler",2,null],[11,"start_if_needed","","Start the component `name` if it has no input port",2,null],[11,"start_component","","Start a component, even if it has an input port",2,null],[11,"remove_component","","Remove a component form the scheduler and retrieve all the information",2,null],[11,"connect","","Connect a simple output port to a simple input port",2,null],[11,"connect_array","","Connect a array output port to a simple input port",2,null],[11,"connect_to_array","","Connect a simple output port to an array input port",2,null],[11,"connect_array_to_array","","Connect an array output port to an array input port",2,null],[11,"disconnect","","disconnect an output port",2,null],[11,"disconnect_array","","disconnect an array output port",2,null],[11,"add_input_array_selection","","Add a selection in an input array port",2,null],[11,"soft_add_input_array_selection","","Add a selection in an input array port, only if this selection exists not yet",2,null],[11,"add_output_array_selection","","Add a selection in an output array port",2,null],[11,"set_receiver","","Change the receiver of an input port.",2,null],[11,"set_array_receiver","","Change the receiver of an array input port.",2,null],[11,"get_sender","","Get the sender of a input port",2,null],[11,"get_array_sender","","Get the sender of an array input port",2,null],[11,"get_contract_input","","Get the contract of an input port",2,null],[11,"get_contract_input_array","","Get the contract of an array input port",2,null],[11,"get_contract_output","","Get the contract of an output port",2,null],[11,"get_contract_output_array","","Get the contract of an array output port",2,null],[11,"join","","Wait for the end of the scheduler",2,null],[11,"new","","create a new ComponentCache",5,{"inputs":[],"output":{"name":"self"}}],[11,"create_comp","","Load a new component from the system file",5,null],[11,"get_contract_input","","Get the contract of an input port",5,null],[11,"get_contract_input_array","","Get the contract of an array input port",5,null],[11,"get_contract_output","","Get the contract of an output port",5,null],[11,"get_contract_output_array","","Get the contract of an array output port",5,null],[0,"ports","rustfbp","Utility class to communicate between components",null,null],[3,"IP","rustfbp::ports","Represent an IP",null,null],[12,"vec","","The capn'p representation",6,null],[12,"action","","is the action of the IP",6,null],[3,"IPSender","","An wrapper around `SyncSender<IP>`",null,null],[12,"sender","","The SyncSender, connected to a receiver in another component",7,null],[12,"dest","","The name of the component owning the receiver",7,null],[12,"sched","","A Sender to the scheduler, to signal that the receiver must be run",7,null],[3,"Ports","","Represents all the ports of a component",null,null],[11,"new","","Return a new IP",6,{"inputs":[],"output":{"name":"self"}}],[11,"get_root","","Return a capnp `Reader`",6,null],[11,"init_root","","Return a capnp `Builder`",6,null],[11,"init_root_from_reader","","Return a capnp `Builder` from a capnp `Reader`",6,null],[11,"before_send","","Write the capnp `Builer` to the `Vec`",6,null],[11,"clone","","",6,null],[11,"clone","","",7,null],[11,"send","","Send an IP to the Receiver",7,null],[11,"new","","Create a new Ports",8,{"inputs":[{"name":"string"},{"name":"sender"},{"name":"vec"},{"name":"vec"},{"name":"vec"},{"name":"vec"}],"output":{"name":"result"}}],[11,"get_sender","","Get the sender of a input ports",8,null],[11,"get_array_sender","","Get the sender of a input array ports",8,null],[11,"get_input_selections","","Get the list of the current selections in a array input port",8,null],[11,"get_output_selections","","Get the list of the current selections in a array output port",8,null],[11,"recv","","Receive an IP from an input ports",8,null],[11,"try_recv","","Try to receive an IP from an input ports",8,null],[11,"recv_array","","Receive an IP from an array input ports",8,null],[11,"try_recv_array","","Try to receive an IP from an array input ports",8,null],[11,"send","","Send an IP outside, through the output port `port_out`",8,null],[11,"send_array","","Send an IP outside, through the array output port `port_out` with the selection `selection_out`",8,null],[11,"send_action","","Send an IP outside, depending of the action",8,null],[11,"connect","","Connect an simple output port with the IPSender",8,null],[11,"connect_array","","Connect an array output port with the IPSender",8,null],[11,"disconnect","","Disconnect and retrieve the IPSender of an simple output port",8,null],[11,"disconnect_array","","Disconnect and retrieve the IPSender of an array output port",8,null],[11,"set_receiver","","Change the receiver of a simple output ports",8,null],[11,"remove_receiver","","Get the receiver of a simple output ports",8,null],[11,"remove_array_receiver","","Get the receiver of a array output ports",8,null],[11,"add_input_selection","","Add a selection in an input array port, and retrieve the corresponding IPSender",8,null],[11,"add_input_receiver","","Change the receiver of an array output ports",8,null],[11,"add_output_selection","","Add a selection in an input array port",8,null],[0,"result","rustfbp","",null,null],[4,"Error","rustfbp::result","",null,null],[13,"Capnp","","",9,null],[13,"CapnpNIS","","",9,null],[13,"IO","","",9,null],[13,"FromUtf8","","",9,null],[13,"Mpsc","","",9,null],[13,"MpscTryRecv","","",9,null],[13,"Misc","","",9,null],[13,"MpscSend","","",9,null],[13,"ComponentNotFound","","",9,null],[13,"OutputPortNotConnected","","",9,null],[13,"ArrayOutputPortNotConnected","","",9,null],[13,"PortNotFound","","",9,null],[13,"SelectionNotFound","","",9,null],[13,"CannotRemove","","",9,null],[13,"BadMessageInfo","","",9,null],[6,"Result","","",null,null],[11,"fmt","","",9,null],[11,"fmt","","",9,null],[11,"description","","",9,null],[11,"cause","","",9,null],[11,"from","","",9,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"notinschema"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"string"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"fromutf8error"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"recverror"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"tryrecverror"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"senderror"}],"output":{"name":"error"}}],[11,"from","","",9,{"inputs":[{"name":"senderror"}],"output":{"name":"error"}}],[14,"component!","rustfbp","The component macro.",null,null]],"paths":[[8,"Component"],[3,"Comp"],[3,"Scheduler"],[4,"CompMsg"],[4,"SyncMsg"],[3,"ComponentCache"],[3,"IP"],[3,"IPSender"],[3,"Ports"],[4,"Error"]]}; initSearch(searchIndex);