![]() |
Open Lighting Architecture 0.10.9
|
Classes for general I/O and event handling.
Classes | |
| class | BidirectionalFileDescriptor |
| A file descriptor that supports both read & write. More... | |
| class | BigEndianInputStream |
| class | BigEndianInputStreamAdaptor |
| class | BigEndianInputStreamInterface |
| class | BigEndianOutputStream |
| class | BigEndianOutputStreamAdaptor |
| class | BigEndianOutputStreamInterface |
| class | Callback0 |
| A 0 argument callback which can be called multiple times. More... | |
| class | ConnectedDescriptor |
| A BidirectionalFileDescriptor that also generates notifications when closed. More... | |
| class | DeviceDescriptor |
| A descriptor which represents a connection to a device. More... | |
| class | EPollData |
| class | EPoller |
| An implementation of PollerInterface that uses epoll(). More... | |
| class | EventHolder |
| class | ExportMap |
| A container for the exported variables. More... | |
| class | InputBufferInterface |
| class | InputStream |
| class | InputStreamInterface |
| class | IOQueue |
| class | IOStack |
| struct | IOVec |
| class | IOVecInterface |
| class | KQueueData |
| class | KQueuePoller |
| An implementation of PollerInterface that uses kevent / kqueue. More... | |
| class | LinuxHelper |
| A static class containing platform-specific helper code for Linux. More... | |
| class | LoopbackDescriptor |
| A loopback descriptor. More... | |
| class | map |
| STL class. More... | |
| class | MemoryBlock |
| A MemoryBlock encapsulates a chunk of memory. It's used by the IOQueue and IOStack classes. More... | |
| class | MemoryBlockPool |
| MemoryBlockPool. This class is not thread safe. More... | |
| class | MemoryBuffer |
| class | NonBlockingSender |
| Write data to ConnectedDescriptors without blocking or losing data. More... | |
| class | OutputBufferInterface |
| class | OutputStream |
| class | OutputStreamInterface |
| class | pair |
| STL class. More... | |
| class | PipeDescriptor |
| A descriptor that uses unix pipes. More... | |
| class | PollData |
| class | PollerInterface |
| The interface for the Poller classes. More... | |
| class | ReadFileDescriptor |
| Represents a file descriptor that supports reading data. More... | |
| class | SelectPoller |
| An implementation of PollerInterface that uses select(). More... | |
| class | SelectServer |
| A single threaded I/O event management system. More... | |
| class | SelectServerInterface |
| The interface for the SelectServer. More... | |
| class | StdinHandler |
| class | string |
| STL class. More... | |
| class | TimeoutManager |
| Manages timer events. More... | |
| class | UnixSocket |
| A unix domain socket pair. More... | |
| class | UnmanagedFileDescriptor |
| Allows a FD created by a library to be used with the SelectServer. More... | |
| struct | UnmanagedFileDescriptor_lt |
| Comparison operator for UnmanagedFileDescriptor. More... | |
| class | vector |
| STL class. More... | |
| class | WindowsPoller |
| An implementation of PollerInterface for Windows. More... | |
| class | WindowsPollerDescriptor |
| class | WriteFileDescriptor |
| Represents a file descriptor that supports writing data. More... | |
Enumerations | |
| enum | baud_rate { BAUD_RATE_9600 = 9600 , BAUD_RATE_19200 = 19200 , BAUD_RATE_38400 = 38400 , BAUD_RATE_57600 = 57600 , BAUD_RATE_115200 = 115200 , BAUD_RATE_230400 = 230400 } |
Functions | |
| STATIC_ASSERT (sizeof(struct iovec)==sizeof(struct IOVec)) | |
| int | ToFD (const DescriptorHandle &handle) |
| bool | CreatePipe (DescriptorHandle handle_pair[2]) |
| bool | Open (const std::string &path, int oflag, int *fd) |
| Wrapper around open(). | |
| bool | TryOpen (const std::string &path, int oflag, int *fd) |
| Wrapper around open(). | |
| bool | FileExists (const std::string &file_name) |
| Check if a file exists using stat(). | |
| template<typename T> | |
| bool | InsertIntoDescriptorMap (map< int, T * > *descriptor_map, int fd, T *value, const string &type) |
| Insert a descriptor into one of the descriptor maps. | |
| template<typename T> | |
| bool | RemoveFromDescriptorMap (map< int, T * > *descriptor_map, int fd) |
| Remove a FD from a descriptor map by setting the value to NULL. | |
| bool | UIntToSpeedT (uint32_t value, speed_t *output) |
| Convert an integer baud rate to the termios struct speed_t. | |
| bool | AcquireUUCPLockAndOpen (const std::string &path, int oflag, int *fd) |
| Try to open the path, respecting UUCP locking. | |
| void | ReleaseUUCPLock (const std::string &path) |
| Remove a UUCP lock file for the device. | |
| void | CancelIOs (vector< PollData * > *data) |
Variables | |
| static const int | FLAG_READ = 1 |
| static const int | FLAG_WRITE = 2 |
| static DescriptorHandle | INVALID_DESCRIPTOR = -1 |
| static const timeout_id | INVALID_TIMEOUT |
| An invalid / uninitialized timeout_id. | |
| bool ola::io::AcquireUUCPLockAndOpen | ( | const std::string & | path, |
| int | oflag, | ||
| int * | fd ) |
Try to open the path, respecting UUCP locking.
| path | the path to open | |
| oflag | flags passed to open | |
| [out] | fd | a pointer to the fd which is returned. |
This fails-fast, it we can't get the lock immediately, we'll return false.
| bool ola::io::CreatePipe | ( | DescriptorHandle | handle_pair[2] | ) |
Helper function to create a anonymous pipe
| handle_pair | a 2 element array which is updated with the handles |
| bool ola::io::FileExists | ( | const std::string & | file_name | ) |
Check if a file exists using stat().
| file_name | The name of the file. |
| bool ola::io::InsertIntoDescriptorMap | ( | map< int, T * > * | descriptor_map, |
| int | fd, | ||
| T * | value, | ||
| const string & | type ) |
Insert a descriptor into one of the descriptor maps.
| descriptor_map | the descriptor_map to insert into. |
| fd | the FD to use as the key |
| value | the value to associate with the key |
| type | the name of the map, used for logging if the fd already exists in the map. |
There are three possibilities:
| bool ola::io::Open | ( | const std::string & | path, |
| int | oflag, | ||
| int * | fd ) |
Wrapper around open().
This logs a message if the open fails.
| path | the path to open | |
| oflag | flags passed to open | |
| [out] | fd | a pointer to the fd which is returned. |
| void ola::io::ReleaseUUCPLock | ( | const std::string & | path | ) |
Remove a UUCP lock file for the device.
| path | The path to unlock. |
The lock is only removed if the PID matches.
| bool ola::io::RemoveFromDescriptorMap | ( | map< int, T * > * | descriptor_map, |
| int | fd ) |
Remove a FD from a descriptor map by setting the value to NULL.
| bool ola::io::TryOpen | ( | const std::string & | path, |
| int | oflag, | ||
| int * | fd ) |
| bool ola::io::UIntToSpeedT | ( | uint32_t | value, |
| speed_t * | output ) |
Convert an integer baud rate to the termios struct speed_t.
| [in] | value | the baudrate value to convert |
| [out] | output | a pointer where the value will be stored |