159 virtual BError init(
BString boapNsHost =
"",
int port = 0,
int threaded = 0,
int isBoapns = 0);
BUInt32 address
Definition BFirmware.h:7
uint32_t BUInt32
Definition BTypes.h:24
int32_t BInt32
Definition BTypes.h:23
uint64_t BUInt64
Definition BTypes.h:26
BoapMc1PacketHead head
Definition BoapMc1.h:1
BUInt8 cmd
Definition BoapMc.h:3
uint32_t BoapService
Definition BoapSimple.h:24
BError(BoapServiceObject::* BoapFunc)(BoapPacket &rx, BoapPacket &tx)
Definition BoapSimple.h:166
BError(BoapServiceObject::* BoapFunc)(BoapServerConnection *conn, BoapPacket &rx, BoapPacket &tx)
Definition Boap.h:204
BoapType
Definition Boap.h:24
@ BoapTypeRpcReply
Definition Boap.h:24
@ BoapTypeRpcError
Definition Boap.h:24
@ BoapTypeRpc
Definition Boap.h:24
@ BoapTypeSignal
Definition Boap.h:24
const BUInt32 BoapMagic
Definition Boap.h:23
BUInt32 BoapService
Definition Boap.h:25
BoapPriority
Definition Boap.h:26
@ BoapPriorityHigh
Definition Boap.h:26
@ BoapPriorityLow
Definition Boap.h:26
@ BoapPriorityNormal
Definition Boap.h:26
Create and manipulate a variable sized byte data buffer. Has functions to store and retrieve basic an...
Definition BBuffer.h:47
Error return class. This class is used to return the error status from a function....
Definition BError.h:31
This class provides an interface for sending simple integer events via a file descriptor....
Definition BEvent1.h:57
Template based list class.
Definition BList.h:31
Mutex class. Note these are recursive Mutexes and so you need to make sure the number of unlocks equa...
Definition BMutex.h:14
This class provides an interface for polling a number of file descriptors. It uses round robin pollin...
Definition BPoll.h:48
IPV4 aware socket address.
Definition BSocket.h:58
A network communications socket.
Definition BSocket.h:80
This class stores and manipulates ASCII strings.
Definition BString.h:20
Implements a program execution thread.
Definition BThread.h:14
Base for all Boap client objects.
Definition Boap.h:56
BUInt32 oapiVersion
Definition Boap.h:81
BError performSend(BoapPacket &tx)
Performs a send to the named service.
Definition Boap.cpp:347
BoapPriority opriority
Definition Boap.h:82
void setMaxLength(BUInt32 maxLength)
Sets the maximum packet length.
Definition Boap.cpp:322
virtual ~BoapClientObject()
Definition Boap.cpp:123
BoapPacket orx
Definition Boap.h:87
BUInt32 omaxLength
Definition Boap.h:85
BError performRecv(BoapPacket &rx)
Performs a receive.
Definition Boap.cpp:364
int otimeout
Definition Boap.h:89
BError pingLocked(BUInt32 &apiVersion)
Definition Boap.cpp:256
BString getServiceName()
Get the name of the service.
Definition Boap.cpp:242
BoapService oservice
Definition Boap.h:83
virtual BError handleReconnect(BError err)
Handle a reconnect performing autorisaztion if required.
Definition Boap.cpp:465
BError connectService(BString name)
Connects to the named service.
Definition Boap.cpp:130
BString oname
Definition Boap.h:80
BError disconnectService()
Disconnects from the named service.
Definition Boap.cpp:230
BError ping(BUInt32 &apiVersion)
Pings the connection and finds the remotes version number.
Definition Boap.cpp:246
BError performCall(BoapPacket &tx, BoapPacket &rx)
Performs a RPC call to the named service.
Definition Boap.cpp:423
int oconnected
Definition Boap.h:84
void setTimeout(int timeout)
Sets the timeout in micro seconds. -1 is wait indefinitely.
Definition Boap.cpp:326
BMutex olock
Definition Boap.h:88
BUInt32 apiVersion()
Returns the API version.
Definition Boap.cpp:126
BoapPacket otx
Definition Boap.h:86
int oreconnect
Handle an automatic reconnect on timeout.
Definition Boap.h:90
BError setConnectionPriority(BoapPriority priority)
Sets the connection priority.
Definition Boap.cpp:282
BError checkApiVersion()
Definition Boap.cpp:330
Boap service function.
Definition Boap.h:207
BUInt32 ocmd
Definition Boap.h:210
BoapFunc ofunc
Definition Boap.h:211
Boap packet.
Definition Boap.h:37
int pushHead(BoapPacketHead &head)
Definition Boap.cpp:73
int peekHead(BoapPacketHead &head)
Definition Boap.cpp:84
BoapPacket()
Definition Boap.cpp:52
~BoapPacket()
Definition Boap.cpp:54
void updateHead()
Definition Boap.cpp:57
BUInt32 getCmd()
Definition Boap.cpp:65
int popHead(BoapPacketHead &head)
Definition Boap.cpp:93
Boap server connection.
Definition Boap.h:126
virtual BError process()
Definition Boap.cpp:512
virtual BSocket & getSocket()
Definition Boap.cpp:592
virtual ~BoapServerConnection()
Definition Boap.cpp:503
virtual BError getHead(BoapPacketHead &head)
Definition Boap.cpp:600
virtual BError validate()
Validate the connection.
Definition Boap.cpp:608
virtual void setMaxLength(BUInt32 maxLength)
Definition Boap.cpp:596
virtual BError init()
Initialise connection.
Definition Boap.cpp:506
Boap server.
Definition Boap.h:153
BSocket onet
Definition Boap.h:189
BError run()
Definition BoapSimple.cc:442
virtual BoapServerConnection * newConnection(int fd, BSocketAddressINET address)
Definition Boap.cpp:884
BList< BoapServerConnection * > oclients
Definition Boap.h:185
virtual BError sendEvent(BoapPacket &tx)
Definition Boap.cpp:831
virtual BError processEvent(BoapPacket &rx)
Definition Boap.cpp:801
BMutex olock
Definition Boap.h:181
BList< BoapServiceEntry > oservices
Definition Boap.h:187
virtual BError process(BoapServerConnection *conn, BoapPacket &rx, BoapPacket &tx)
Definition Boap.cpp:786
BSocket onetEvent
Definition Boap.h:190
BString getHostName()
Definition Boap.cpp:861
BEvent1Int oclientGoneEvent
Definition Boap.h:186
BString ohostName
Definition Boap.h:192
BSocket & getSocket()
Definition Boap.cpp:853
@ NOTHREADS
Definition Boap.h:155
@ THREADED
Definition Boap.h:155
int getConnectionsNumber()
Definition Boap.cpp:865
BoapServer()
Definition Boap.cpp:626
virtual BError init(BString boapNsHost="", int port=0, int threaded=0, int isBoapns=0)
Definition Boap.cpp:638
int othreaded
Definition Boap.h:182
virtual void clientGone(BoapServerConnection *client)
Definition Boap.cpp:695
BPoll opoll
Definition Boap.h:188
BUInt64 onumOperations
Definition Boap.h:195
void closeConnections()
Definition Boap.cpp:871
BSocketAddressINET onetEventAddress
Definition Boap.h:191
int oisBoapns
Definition Boap.h:183
void * function()
Definition Boap.cpp:699
Boapns::Boapns * oboapns
Definition Boap.h:184
virtual ~BoapServer()
Definition Boap.cpp:634
BSocket & getEventSocket()
Definition Boap.cpp:857
virtual BError addObject(BoapServiceObject *object)
Definition Boap.cpp:778
Boap server single service entry.
Definition Boap.h:113
BoapService oservice
Definition Boap.h:119
BoapServiceEntry(BoapService service=0, BoapServiceObject *object=0)
Definition Boap.h:115
BoapServiceObject * oobject
Definition Boap.h:120
Boap service object.
Definition Boap.h:215
virtual BError processEvent(BString objectName, BString name, BInt32 arg)
Definition Boap.cpp:1002
BError sendEvent(BString signalName, BInt32 arg)
Definition Boap.cpp:983
BoapServer & oserver
Definition Boap.h:234
BString name()
Definition Boap.cpp:914
BError process(BoapServerConnection *conn, BoapPacket &rx, BoapPacket &tx)
Definition Boap.cpp:967
BError doConnectionPriority(BoapServerConnection *conn, BoapPacket &rx, BoapPacket &tx)
Definition Boap.cpp:939
BList< BoapFuncEntry > ofuncList
Definition Boap.h:237
BError setName(BString name)
Definition Boap.cpp:906
BError doPing(BoapServerConnection *conn, BoapPacket &rx, BoapPacket &tx)
Definition Boap.cpp:922
BUInt32 oapiVersion
Definition Boap.h:236
virtual ~BoapServiceObject()
Definition Boap.cpp:903
BUInt32 apiVersion()
Returns the API version.
Definition Boap.cpp:918
BString oname
Definition Boap.h:235
A Boap object to send signals using an RPC mechanism.
Definition Boap.h:95
BoapSignalObject()
Definition Boap.cpp:470
BoapPacket otx
Definition Boap.h:101
BoapPacket orx
Definition Boap.h:102
BError performSend(BoapPacket &tx)
Definition Boap.cpp:474
Boap packet header.
Definition Boap.h:29
BUInt32 length
Definition Boap.h:31
BUInt32 cmd
Definition Boap.h:33
BUInt32 service
Definition Boap.h:32
BUInt32 type
Definition Boap.h:30