fi_eq - Event queue operations
- Eq-3 Network & Wireless Cards Driver Download For Windows 7
- Eq-3 Network & Wireless Cards Driver Download For Windows 8
- View and Download eQ-3 Comfort operating manual online. Radio energy-saving controller for radiators. Comfort network router pdf manual download.
- Nils: Having 18 retail stores across Canada and the U.S. And a robust wholesale network offers countless opportunities for receiving feedback from our customers. Compared to when I first began working in product development at EQ3 in 2009, I would say there has been a marked change in consumer behaviour in the conversations surrounding quality.
- Whether floor heating control, flush-mounted actuators or a compatible bus system – the qualified installation partners in your region are happy to individually advise you and support you with the installation and set-up of various devices.
MAX home automation is a GTK+ application to manage ELV/eQ-3 MAX! A cube is a gateway to a network of radiator thermostats, shutter contacts etc. Radiator and wall-mounted thermostat schedule can be edited uploaded, stored into a file and restored from there. Travis Bradberry is the award-winning co-author of the #1 bestselling book, Emotional Intelligence 2.0, and the co-founder of TalentSmart, the world’s leading provider of emotional intelligence tests and training, serving more than 75% of Fortune 500 companies.
- fi_eq_open / fi_close
- Open/close an event queue
- fi_control
- Control operation of EQ
- fi_eq_read / fi_eq_readerr
- Read an event from an event queue
- fi_eq_write
- Writes an event to an event queue
- fi_eq_sread
- A synchronous (blocking) read of an event queue
- fi_eq_strerror
- Converts provider specific error information into a printable string
- fabric
- Opened fabric descriptor
- eq
- Event queue
- attr
- Event queue attributes
- context
- User specified context associated with the event queue.
- event
- Reported event
- buf
- For read calls, the data buffer to write events into. For writecalls, an event to insert into the event queue. For fi_eq_strerror,an optional buffer that receives printable error information.
- len
- Length of data buffer
- flags
- Additional flags to apply to the operation
- command
- Command of control operation to perform on EQ.
- arg
- Optional control argument
- prov_errno
- Provider specific error value
- err_data
- Provider specific error data related to a completion
- timeout
- Timeout specified in milliseconds
Event queues are used to report events associated with controloperations. They are associated with memory registration, addressvectors, connection management, and fabric and domain level events.Reported events are either associated with a requested operation oraffiliated with a call that registers for specific types of events,such as listening for connection requests.
fi_eq_open
fi_eq_open allocates a new event queue.
Eq-3 Network & Wireless Cards Driver Download For Windows 7
The properties and behavior of an event queue are defined by structfi_eq_attr
.
- size
- Specifies the minimum size of an event queue.
- flags
- Flags that control the configuration of the EQ.
- FI_WRITE
- Indicates that the application requires support for inserting userevents into the EQ. If this flag is set, then the fi_eq_writeoperation must be supported by the provider. If the FI_WRITE flagis not set, then the application may not invoke fi_eq_write.
- wait_obj
- EQ’s may be associated with a specific wait object. Wait objectsallow applications to block until the wait object is signaled,indicating that an event is available to be read. Users may usefi_control to retrieve the underlying wait object associated with anEQ, in order to use it in other system calls. The following valuesmay be used to specify the type of wait object associated with anEQ:
- FI_WAIT_NONE
- Used to indicate that the user will not block (wait) for events onthe EQ. When FI_WAIT_NONE is specified, the application may notcall fi_eq_sread.
- FI_WAIT_UNSPEC
- Specifies that the user will only wait on the EQ using fabricinterface calls, such as fi_eq_sread. In this case, the underlyingprovider may select the most appropriate or highest performing waitobject available, including custom wait mechanisms. Applicationsthat select FI_WAIT_UNSPEC are not guaranteed to retrieve theunderlying wait object.
- FI_WAIT_SET
- Indicates that the event queue should use a wait set object to waitfor events. If specified, the wait_set field must reference anexisting wait set object.
- FI_WAIT_FD
- Indicates that the EQ should use a file descriptor as its waitmechanism. A file descriptor wait object must be usable in select,poll, and epoll routines. However, a provider may signal an FD waitobject by marking it as readable, writable, or with an error.
- FI_WAIT_MUTEX_COND
- Specifies that the EQ should use a pthread mutex and cond variableas a wait object.
- signaling_vector
- Indicates which processor core interrupts associated with the EQshould target.
- wait_set
- If wait_obj is FI_WAIT_SET, this field references a wait object towhich the event queue should attach. When an event is inserted intothe event queue, the corresponding wait set will be signaled if allnecessary conditions are met. The use of a wait_set enables anoptimized method of waiting for events across multiple event queues.This field is ignored if wait_obj is not FI_WAIT_SET.
fi_close
The fi_close call releases all resources associated with an event queue. Anyevents which remain on the EQ when it is closed are lost.
The EQ must not be bound to any other objects prior to being closed, otherwisethe call will return -FI_EBUSY.
fi_control
The fi_control call is used to access provider or implementationspecific details of the event queue. Access to the EQ should beserialized across all calls when fi_control is invoked, as it mayredirect the implementation of EQ operations. The following controlcommands are usable with an EQ.
- FI_GETWAIT (void **)
- This command allows the user to retrieve the low-level wait objectassociated with the EQ. The format of the wait-object is specifiedduring EQ creation, through the EQ attributes. The fi_control argparameter should be an address where a pointer to the returned waitobject will be written. This should be an ‘int *’ for FI_WAIT_FD,or ‘struct fi_mutex_cond’ for FI_WAIT_MUTEX_COND.
fi_eq_read
The fi_eq_read operations performs a non-blocking read of event datafrom the EQ. The format of the event data is based on the type ofevent retrieved from the EQ, with all events starting with a structfi_eq_entry header. At most one event will be returned per EQ readoperation. The number of bytes successfully read from the EQ isreturned from the read. The FI_PEEK flag may be used to indicate thatevent data should be read from the EQ without being consumed. Asubsequent read without the FI_PEEK flag would then remove the eventfrom the EQ.
The following types of events may be reported to an EQ, along withinformation regarding the format associated with each event.
Control requests report their completion by inserting a structfi_eq_entry
into the EQ. The format of this structure is:

For the completion of basic asynchronous control operations, the returned event will indicate the operation that has completed, and the fid will reference the fabric descriptor associated with the event. For memory registration, this will be an FI_MR_COMPLETE event and the fid_mr; address resolution will reference an FI_AV_COMPLETE event and fid_av. The context field will be set to the context specified as part of the operation, if available, otherwise the context will be associated with the fabric descriptor. The data field will be set as described in the man page for the corresponding object type (e.g., see fi_av
(3) for a description of how asynchronous address vector insertions are completed).
- Connection Notification
- Connection notifications are connection management notificationsused to setup or tear down connections between endpoints. There arethree connection notification events: FI_CONNREQ, FI_CONNECTED, andFI_SHUTDOWN. Connection notifications are reported using
structfi_eq_cm_entry
:
A connection request (FI_CONNREQ) event indicates that a remote endpoint wishes to establish a new connection to a listening, or passive, endpoint. The fid is the passive endpoint. Information regarding the requested, active endpoint’s capabilities and attributes are available from the info field. The application is responsible for freeing this structure by calling fi_freeinfo when it is no longer needed. The fi_info connreq field will reference the connection request associated with this event. To accept a connection, an endpoint must first be created by passing an fi_info structure referencing this connreq field to fi_endpoint(). This endpoint is then passed to fi_accept() to complete the acceptance of the connection attempt. Creating the endpoint is most easily accomplished by passing the fi_info returned as part of the CM event into fi_endpoint(). If the connection is to be rejected, the connreq is passed to fi_reject().
Any application data exchanged as part of the connection request is placed beyond the fi_eq_cm_entry structure. The amount of data available is application dependent and limited to the buffer space provided by the application when fi_eq_read is called. The amount of returned data may be calculated using the return value to fi_eq_read. Note that the amount of returned data is limited by the underlying connection protocol, and the length of any data returned may include protocol padding. As a result, the returned length may be larger than that specified by the connecting peer.
If a connection request has been accepted, an FI_CONNECTED event will be generated on both sides of the connection. The active side – one that called fi_connect() – may receive user data as part of the FI_CONNECTED event. The user data is passed to the connection manager on the passive side through the fi_accept call. User data is not provided with an FI_CONNECTED event on the listening side of the connection.
Notification that a remote peer has disconnected from an active endpoint is done through the FI_SHUTDOWN event. Shutdown notification uses struct fi_eq_cm_entry as declared above. The fid field for a shutdown notification refers to the active endpoint’s fid_ep.
Asynchronous errors may be reported for completion queues and endpointsof all types. CQ errors can result when resource management has beendisabled, and the provider has detected a queue overrun. Endpointerrors may be result of numerous actions, but are often associated witha failed operation. Operations may fail because of buffer overruns,invalid permissions, incorrect memory access keys, network routingfailures, network reach-ability issues, etc.
Asynchronous errors are reported using struct fi_eq_err_entry, as definedbelow. The fabric descriptor (fid) associated with the error is providedas part of the error data. An error code is also available to determinethe cause of the error.
fi_eq_sread
The fi_eq_sread call is the blocking (or synchronous) equivalent tofi_eq_read. It behaves is similar to the non-blocking call, with theexception that the calls will not return until either an event hasbeen read from the EQ or an error or timeout occurs. Specifying anegative timeout means an infinite timeout.
fi_eq_readerr
The read error function, fi_eq_readerr, retrieves informationregarding any asynchronous operation which has completed with anunexpected error. fi_eq_readerr is a non-blocking call, returningimmediately whether an error completion was found or not.
EQs are optimized to report operations which have completedsuccessfully. Operations which fail are reported ‘out of band’. Suchoperations are retrieved using the fi_eq_readerr function. When anoperation that completes with an unexpected error is inserted into anEQ, it is placed into a temporary error queue. Attempting to readfrom an EQ while an item is in the error queue results in an FI_EAVAILfailure. Applications may use this return code to determine when tocall fi_eq_readerr.
Error information is reported to the user through structfi_eq_err_entry. The format of this structure is defined below.
Eq-3 Network & Wireless Cards Driver Download For Windows 8
The fid will reference the fabric descriptor associated with theevent. For memory registration, this will be the fid_mr, addressresolution will reference a fid_av, and CM events will refer to afid_ep. The context field will be set to the context specified aspart of the operation.
The data field will be set as described in the man page for thecorresponding object type (e.g., see fi_av
(3) for adescription of how asynchronous address vector insertions arecompleted).
The general reason for the error is provided through the err field.Provider or operational specific error information may also be availablethrough the prov_errno and err_data fields. Users may call fi_eq_strerror toconvert provider specific error information into a printable stringfor debugging purposes.
If err_data_size is > 0, then the buffer referenced by err_data isdirectly user-accessible. Applications which read the err_data buffermust ensure that they do not read past the end of the referenced buffer.
- fi_eq_open
- Returns 0 on success. On error, a negative value corresponding tofabric errno is returned.
- fi_eq_read / fi_eq_readerr / fi_eq_sread
- On success, returns the number of bytes read from theevent queue. On error, a negative value corresponding to fabricerrno is returned. If no data is available to be read from theevent queue, -FI_EAGAIN is returned.
- fi_eq_write
- On success, returns the number of bytes written to theevent queue. On error, a negative value corresponding to fabricerrno is returned.
- fi_eq_strerror
- Returns a character string interpretation of the provider specificerror returned with a completion.
Fabric errno values are defined inrdma/fi_errno.h
.
fi_getinfo
(3),fi_endpoint
(3),fi_domain
(3),fi_cntr
(3),fi_poll
(3)
