Instrument Neutral Distributed Interface INDI  2.0.2
Classes | Macros | Enumerations | Functions
indiserver.cpp File Reference
#include "config.h"
#include <set>
#include <string>
#include <list>
#include <map>
#include <unordered_map>
#include <vector>
#include <thread>
#include <mutex>
#include <assert.h>
#include "indiapi.h"
#include "indidevapi.h"
#include "sharedblob.h"
#include "lilxml.h"
#include "base64.h"
#include <errno.h>
#include <fcntl.h>
#include <libgen.h>
#include <netdb.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdint.h>
#include <string.h>
#include <time.h>
#include <poll.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/mman.h>
#include <sys/un.h>
#include <ev++.h>

Go to the source code of this file.

Classes

class  ConcurrentSet< M >
 
class  ConcurrentSet< M >::iterator
 
class  Collectable
 
class  MsgChunck
 
class  SerializationRequirement
 
class  SerializedMsg
 
class  SerializedMsgWithSharedBuffer
 
class  SerializedMsgWithoutSharedBuffer
 
class  MsgChunckIterator
 
class  Msg
 
class  MsgQueue
 
class  Property
 
class  Fifo
 
class  ClInfo
 
class  DvrInfo
 
class  LocalDvrInfo
 
class  RemoteDvrInfo
 
class  TcpServer
 

Macros

#define _GNU_SOURCE
 
#define INDIPORT   7624 /* default TCP/IP port to listen */
 
#define INDIUNIXSOCK   "/tmp/indiserver" /* default unix socket path (local connections) */
 
#define MAXSBUF   512
 
#define MAXRBUF   49152 /* max read buffering here */
 
#define MAXWSIZ   49152 /* max bytes/write */
 
#define SHORTMSGSIZ   2048 /* buf size for most messages */
 
#define DEFMAXQSIZ   128 /* default max q behind, MB */
 
#define DEFMAXSSIZ   5 /* default max stream behind, MB */
 
#define DEFMAXRESTART   10 /* default max restarts */
 
#define MAXFD_PER_MESSAGE   16 /* No more than 16 buffer attached to a message */
 
#define STRINGIFY_TOK(x)   #x
 
#define TO_STRING(x)   STRINGIFY_TOK(x)
 

Enumerations

enum  SerializationStatus { PENDING , RUNNING , CANCELING , TERMINATED }
 

Functions

int main (int ac, char *av[])
 
bool parseBlobSize (XMLEle *blobWithAttachedBuffer, ssize_t &size)
 
XMLElecloneXMLEleWithReplacementMap (XMLEle *root, const std::unordered_map< XMLEle *, XMLEle * > &replacement)
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

Definition at line 48 of file indiserver.cpp.

◆ DEFMAXQSIZ

#define DEFMAXQSIZ   128 /* default max q behind, MB */

Definition at line 105 of file indiserver.cpp.

◆ DEFMAXRESTART

#define DEFMAXRESTART   10 /* default max restarts */

Definition at line 107 of file indiserver.cpp.

◆ DEFMAXSSIZ

#define DEFMAXSSIZ   5 /* default max stream behind, MB */

Definition at line 106 of file indiserver.cpp.

◆ INDIPORT

#define INDIPORT   7624 /* default TCP/IP port to listen */

Definition at line 99 of file indiserver.cpp.

◆ INDIUNIXSOCK

#define INDIUNIXSOCK   "/tmp/indiserver" /* default unix socket path (local connections) */

Definition at line 100 of file indiserver.cpp.

◆ MAXFD_PER_MESSAGE

#define MAXFD_PER_MESSAGE   16 /* No more than 16 buffer attached to a message */

Definition at line 108 of file indiserver.cpp.

◆ MAXRBUF

#define MAXRBUF   49152 /* max read buffering here */

Definition at line 102 of file indiserver.cpp.

◆ MAXSBUF

#define MAXSBUF   512

Definition at line 101 of file indiserver.cpp.

◆ MAXWSIZ

#define MAXWSIZ   49152 /* max bytes/write */

Definition at line 103 of file indiserver.cpp.

◆ SHORTMSGSIZ

#define SHORTMSGSIZ   2048 /* buf size for most messages */

Definition at line 104 of file indiserver.cpp.

◆ STRINGIFY_TOK

#define STRINGIFY_TOK (   x)    #x

Definition at line 114 of file indiserver.cpp.

◆ TO_STRING

#define TO_STRING (   x)    STRINGIFY_TOK(x)

Definition at line 115 of file indiserver.cpp.

Enumeration Type Documentation

◆ SerializationStatus

Enumerator
PENDING 
RUNNING 
CANCELING 
TERMINATED 

Definition at line 311 of file indiserver.cpp.

Function Documentation

◆ cloneXMLEleWithReplacementMap()

XMLEle* cloneXMLEleWithReplacementMap ( XMLEle root,
const std::unordered_map< XMLEle *, XMLEle * > &  replacement 
)

Definition at line 3327 of file indiserver.cpp.

◆ main()

int main ( int  ac,
char *  av[] 
)

Definition at line 899 of file indiserver.cpp.

◆ parseBlobSize()

bool parseBlobSize ( XMLEle blobWithAttachedBuffer,
ssize_t &  size 
)

Definition at line 3186 of file indiserver.cpp.