From c972be300c5d182ad2a229cabb3150b365acad6b Mon Sep 17 00:00:00 2001
From: jason
Date: Thu, 19 Nov 2015 17:42:59 -0700
Subject: documentation update
---
_sources/api.txt | 3 +-
_sources/exceptions.txt | 3 +
_sources/utils.txt | 3 +
api.html | 4 +
exceptions.html | 240 ++++++++++++++++++++++++++++++++++++++++++++++++
genindex.html | 109 +++++++++++++++++++++-
index.html | 2 +
jobmanager.html | 52 +++++++++--
objects.inv | Bin 449 -> 589 bytes
py-modindex.html | 10 ++
receiver.html | 21 +++--
router.html | 35 +++++--
searchindex.js | 2 +-
sender.html | 53 +++++++++--
utils.html | 236 +++++++++++++++++++++++++++++++++++++++++++++++
15 files changed, 735 insertions(+), 38 deletions(-)
create mode 100644 _sources/exceptions.txt
create mode 100644 _sources/utils.txt
create mode 100644 exceptions.html
create mode 100644 utils.html
diff --git a/_sources/api.txt b/_sources/api.txt
index 12ccbb2..b0ecf4e 100644
--- a/_sources/api.txt
+++ b/_sources/api.txt
@@ -9,4 +9,5 @@ API Documentation
receiver
router
sender
-
+ utils
+ exceptions
diff --git a/_sources/exceptions.txt b/_sources/exceptions.txt
new file mode 100644
index 0000000..17a1cf9
--- /dev/null
+++ b/_sources/exceptions.txt
@@ -0,0 +1,3 @@
+.. automodule:: eventmq.exceptions
+ :members:
+ :special-members:
diff --git a/_sources/utils.txt b/_sources/utils.txt
new file mode 100644
index 0000000..02904ed
--- /dev/null
+++ b/_sources/utils.txt
@@ -0,0 +1,3 @@
+.. automodule:: eventmq.utils
+ :members:
+ :special-members:
diff --git a/api.html b/api.html
index e04493c..78c0f33 100644
--- a/api.html
+++ b/api.html
@@ -87,6 +87,8 @@
receiver – Receiver
router – Router
sender – Sender
+utils – Utilities
+exceptions – Exceptions
Contributing to EventMQ
@@ -142,6 +144,8 @@
receiver – Receiver
router – Router
sender – Sender
+utils – Utilities
+exceptions – Exceptions
diff --git a/exceptions.html b/exceptions.html
new file mode 100644
index 0000000..cd2c165
--- /dev/null
+++ b/exceptions.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+
+
+ exceptions – Exceptions — EventMQ 0 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EventMQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
These are the exceptions that are raised by EventMQ. All exceptions should
+be subclasses of EventMQError
+
+
+exception eventmq.exceptions.EventMQError
+All exceptions raised by EventMQ inherit from this base exception
+
+
+__weakref__
+list of weak references to the object (if defined)
+
+
+
+
+
+
+exception eventmq.exceptions.InvalidMessageError
+Raise when EventMQ encounters a malformed message is encountered.
+
+
+
+
+exception eventmq.exceptions.MessageError
+Raised when there is a problem with the structure of the message
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/genindex.html b/genindex.html
index 13c01a8..6e742cf 100644
--- a/genindex.html
+++ b/genindex.html
@@ -132,9 +132,14 @@
_
| C
| E
+ | G
+ | I
| J
| L
+ | M
| N
+ | O
+ | P
| R
| S
| Z
@@ -160,11 +165,15 @@
- __weakref__ (eventmq.jobmanager.JobManager attribute)
+ __weakref__ (eventmq.exceptions.EventMQError attribute)
+ (eventmq.jobmanager.JobManager attribute)
+
+
+
(eventmq.receiver.Receiver attribute)
@@ -200,6 +209,10 @@
+
+G
+
+
+I
+
@@ -246,6 +287,16 @@
+M
+
+
N
+O
+
+
+P
+
+
R
diff --git a/index.html b/index.html
index 2e2f22c..d91081e 100644
--- a/index.html
+++ b/index.html
@@ -136,6 +136,8 @@
receiver – Receiver
router – Router
sender – Sender
+utils – Utilities
+exceptions – Exceptions
Contributing to EventMQ
diff --git a/jobmanager.html b/jobmanager.html
index 745c825..0b7e831 100644
--- a/jobmanager.html
+++ b/jobmanager.html
@@ -31,8 +31,9 @@
+
-
+
@@ -82,10 +83,15 @@
@@ -116,6 +122,8 @@
Docs »
+ API Documentation »
+
jobmanager – Job Manager
@@ -132,8 +140,7 @@
jobmanager – Job Manager
-
Ensures things about jobs
-Spawns and manages workers
+
Ensures things about jobs and spawns the actual tasks
class eventmq.jobmanager.JobManager( *args , **kwargs )
@@ -164,6 +171,35 @@ generated.
list of weak references to the object (if defined)
+
+
+send_inform( )
+Send an INFORM frame
+
+
+
+
+send_message( command , message )
+send a message to self.incoming
+:param message: a msg tuple to send
+Raises:
+Returns
+
+
+
+
+start( addr='tcp://127.0.0.1:47291' )
+Begin listening for job requests
+
+
+
+
+Parameters: args (str ) – connection string to connect to
+
+
+
+
+
@@ -178,7 +214,7 @@ generated.
Next
- Previous
+ Previous
diff --git a/objects.inv b/objects.inv
index a13b23e..17ca09c 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/py-modindex.html b/py-modindex.html
index f6bdf6c..3442ec3 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -144,6 +144,11 @@
eventmq
+
+
+
+ eventmq.exceptions
+
@@ -164,6 +169,11 @@
eventmq.sender
+
+
+
+ eventmq.utils
+
diff --git a/receiver.html b/receiver.html
index 2147864..038c890 100644
--- a/receiver.html
+++ b/receiver.html
@@ -31,6 +31,7 @@
+
@@ -82,10 +83,14 @@
@@ -116,6 +121,8 @@
Docs »
+ API Documentation »
+
receiver – Receiver
@@ -136,7 +143,7 @@
class eventmq.receiver.Receiver( *args , **kwargs )
-Receives messages and pass them to a callable.
+Receives messages and pass them to a on_recv.
Note
Polling with this reciever is currently only available via an eventloop
@@ -173,8 +180,6 @@
Parameters:
-callable – REQUIRED A function or method to call when a message is
-received
name (str ) – name of this socket. By default a uuid will be
generated
context (zmq.Context ) – Context to use when buliding the
@@ -183,6 +188,8 @@ socket
zmq.ROUTER . By default a ROUTER is used
skip_zmqstream (bool ) – If set to true, skip creating the zmqstream
socket. Callable is unused and optional when this is True
+on_recv – REQUIRED for zmqstream mode. A function or method to call
+when a message is received
diff --git a/router.html b/router.html
index f9bec5f..d8c7fe1 100644
--- a/router.html
+++ b/router.html
@@ -31,6 +31,7 @@
+
@@ -82,10 +83,14 @@
@@ -116,6 +121,8 @@
Docs »
+ API Documentation »
+
router – Router
@@ -144,6 +151,22 @@
list of weak references to the object (if defined)
+
+
+on_receive_reply( msg )
+This method is called when a message comes in from the worker socket.
+It then calls on_command . If on_command isn’t found, then a warning
+is created.
+
+
+
+
+on_receive_request( msg )
+This function is called when a message comes in from the client socket.
+It then calls on_command . If on_command isn’t found, then a
+warning is created.
+
+
start( frontend_addr='tcp://127.0.0.1:47290' , backend_addr='tcp://127.0.0.1:47291' )
@@ -153,8 +176,8 @@
Parameters:
-frontend_addr – connection string to listen for requests
-backend_addr – connection string to listen for workers
+frontend_addr (str ) – connection string to listen for requests
+backend_addr (str ) – connection string to listen for workers
diff --git a/searchindex.js b/searchindex.js
index 0e649cb..568632a 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:46,filenames:["api","contributing","index","jobmanager","protocol","receiver","router","sender"],objects:{"eventmq.jobmanager":{JobManager:[3,3,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[3,2,1,""],"__weakref__":[3,1,1,""]},"eventmq.receiver":{Receiver:[5,3,1,""]},"eventmq.receiver.Receiver":{"__init__":[5,2,1,""],"__weakref__":[5,1,1,""],connect:[5,2,1,""],listen:[5,2,1,""],name:[5,1,1,""],ready:[5,1,1,""],zcontext:[5,1,1,""],zsocket:[5,1,1,""]},"eventmq.router":{Router:[6,3,1,""]},"eventmq.router.Router":{"__weakref__":[6,1,1,""],start:[6,2,1,""]},"eventmq.sender":{Sender:[7,3,1,""]},"eventmq.sender.Sender":{"__init__":[7,2,1,""],"__weakref__":[7,1,1,""],connect:[7,2,1,""],listen:[7,2,1,""],name:[7,1,1,""],ready:[7,1,1,""],send:[7,2,1,""],send_raw:[7,2,1,""],zsocket:[7,1,1,""]},eventmq:{jobmanager:[3,0,0,"-"],receiver:[5,0,0,"-"],router:[6,0,0,"-"],sender:[7,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","class","Python class"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:class"},terms:{"0mq":[4,7],"__init__":[3,5,7],"__weakref__":[3,5,6,7],"_empty_":4,"_headers_":4,"_msg_":4,"_msgid_":4,"_queue_name_":4,"abstract":4,"case":4,"class":[3,5,6,7],"default":[3,5,7],"function":5,"public":4,"return":[5,7],"true":[5,7],"while":4,about:3,accept:4,act:4,addr:[5,7],address:[],after:4,agre:4,all:[3,4,5,7],allow:4,alpha:4,ani:4,api:[],applic:4,architectur:[],arg:[3,5,6,7],avail:[5,7],backend_addr:6,basi:4,befor:4,begin:6,belong:4,below:4,between:4,bool:[5,7],both:4,broker:4,build:7,built:4,bulid:5,call:5,callabl:5,can:4,chang:4,check:[5,7],client:[],command:4,compon:4,connction:[5,7],connect:[4,5,6,7],consist:4,contain:4,content:[],context:[5,7],convers:4,creat:[5,7],csv:4,current:[5,7],dealer:7,debug:4,defin:[3,4,5,6,7],deliv:4,describ:4,descript:4,detail:4,detect:4,determin:4,dialog:4,dictionari:4,directli:7,disconnect:4,distribut:4,either:4,empti:4,emqp:[],ensur:3,even:4,eventloop:[3,5,6,7],except:[4,5,7],execut:4,expos:3,extra:4,fair:4,fals:[5,7],first:4,fit:4,follow:4,format:4,foundat:4,frame:4,free:4,from:4,frontend_addr:6,gener:[3,4,5,7],gnu:4,goal:[],handl:4,header:4,heartbeat:[],heavi:4,here:4,hope:4,html:4,http:4,ident:4,ietf:4,implement:4,impli:4,includ:4,index:2,inform:4,insert:4,instanc:3,interpret:4,interv:4,issu:4,job:[],jobmanag:[],kei:4,kwarg:[3,5,6,7],languag:[],later:4,least:4,leav:4,licens:[],list:[3,5,6,7],listen:[5,6,7],mai:4,main:3,manag:[],manual:4,master:4,merchant:4,messag:[4,5,6,7],method:5,modifi:4,modul:2,more:4,msg:4,multipart:4,must:4,name:[3,4,5,6,7],none:[5,7],note:[3,5,7],object:[3,5,6,7],onli:[5,7],option:[3,4,5,7],org:4,orient:4,origin:4,other:4,otherwis:[3,5,7],page:2,paramet:[3,5,6,7],part:4,particular:[4,7],pass:[4,5],peer:4,pictur:4,poll:[5,7],pool:4,portion:3,prepend:4,pretti:4,process:4,properti:[5,7],protocol:[],provid:6,pub:4,publish:4,purpos:4,queue:[4,6,7],rais:[5,7],raw:7,raw_messag:7,readi:[4,5,7],receiv:[],recent:4,reciev:5,recommend:4,redistribut:4,refer:[3,5,6,7],regular:4,reliabl:4,remov:4,rep:5,repli:4,req:7,request:[4,6],requir:[4,5],resourc:[3,4],respond:4,respons:[3,5,7],restart:4,rfc2119:4,rfc:4,robin:4,round:4,rout:[4,6],router:[],run:3,search:2,see:4,send:[4,7],send_raw:7,sender:[],seper:4,serv:4,server:[3,4],servic:4,set:[4,5,7],shall:4,should:[4,5,7],shown:4,simpl:6,singl:4,skip:[5,7],skip_zmqstream:[5,7],socket:[4,5,7],softwar:4,someth:7,spawn:3,specif:[],specifi:4,start:[5,6,7],statu:4,stop:4,str:[3,5,7],string:[5,6,7],sub:4,subject:4,subset:4,tcp:6,term:4,them:5,thi:[3,4,5,6,7],thing:3,through:4,time:4,tool:4,topic:7,topolog:[],tornado:[3,6],trace:4,tupl:7,type:[4,5,7],typeerror:5,under:4,uniqu:[3,4],unless:[3,5,7],unus:5,upon:4,uuid:[3,5,7],valid:4,valu:4,version:4,via:[5,7],warranti:4,weak:[3,5,6,7],web:4,well:4,when:[4,5,7],where:4,without:4,word:4,worker:[],wrap:[5,7],you:4,your:4,zcontext:[5,7],zeromq:4,zmq:[4,5,7],zmqstream:[5,7],zsocket:[5,7]},titles:["API Documentation","Contributing to EventMQ","EventMQ Documentation","jobmanager – Job Manager","EventMQ Protocol Specification","receiver – Receiver","router – Router","sender – Sender"],titleterms:{address:4,api:0,architectur:4,client:4,contribut:1,document:[0,2],emqp:4,eventmq:[1,2,4],goal:4,heartbeat:4,indic:2,job:3,jobmanag:3,languag:4,licens:4,manag:3,protocol:4,receiv:5,router:[4,6],sender:7,specif:4,tabl:2,topolog:4,welcom:[],worker:4}})
\ No newline at end of file
+Search.setIndex({envversion:46,filenames:["api","contributing","exceptions","index","jobmanager","protocol","receiver","router","sender","utils"],objects:{"eventmq.exceptions":{EventMQError:[2,5,1,""],InvalidMessageError:[2,5,1,""],MessageError:[2,5,1,""]},"eventmq.exceptions.EventMQError":{"__weakref__":[2,1,1,""]},"eventmq.jobmanager":{JobManager:[4,3,1,""]},"eventmq.jobmanager.JobManager":{"__init__":[4,2,1,""],"__weakref__":[4,1,1,""],send_inform:[4,2,1,""],send_message:[4,2,1,""],start:[4,2,1,""]},"eventmq.receiver":{Receiver:[6,3,1,""]},"eventmq.receiver.Receiver":{"__init__":[6,2,1,""],"__weakref__":[6,1,1,""],connect:[6,2,1,""],listen:[6,2,1,""],name:[6,1,1,""],ready:[6,1,1,""],zcontext:[6,1,1,""],zsocket:[6,1,1,""]},"eventmq.router":{Router:[7,3,1,""]},"eventmq.router.Router":{"__weakref__":[7,1,1,""],on_receive_reply:[7,2,1,""],on_receive_request:[7,2,1,""],start:[7,2,1,""]},"eventmq.sender":{Sender:[8,3,1,""]},"eventmq.sender.Sender":{"__init__":[8,2,1,""],"__weakref__":[8,1,1,""],connect:[8,2,1,""],listen:[8,2,1,""],name:[8,1,1,""],ready:[8,1,1,""],recv:[8,2,1,""],recv_multipart:[8,2,1,""],send:[8,2,1,""],send_multipart:[8,2,1,""],zsocket:[8,1,1,""]},"eventmq.utils":{generate_msgid:[9,4,1,""],parse_message:[9,4,1,""]},eventmq:{exceptions:[2,0,0,"-"],jobmanager:[4,0,0,"-"],receiver:[6,0,0,"-"],router:[7,0,0,"-"],sender:[8,0,0,"-"],utils:[9,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","class","Python class"],"4":["py","function","Python function"],"5":["py","exception","Python exception"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:class","4":"py:function","5":"py:exception"},terms:{"0mq":[5,8],"__init__":[4,6,8],"__weakref__":[2,4,6,7,8],"_empty_":5,"_headers_":5,"_msg_":5,"_msgid_":5,"_queue_name_":5,"abstract":5,"case":5,"class":[4,6,7,8,9],"default":[4,6,8],"function":[6,7],"public":5,"return":[4,6,8,9],"true":[6,8],"while":5,about:4,accept:5,act:5,actual:4,addr:[4,6,8],address:[],after:5,agre:5,all:[2,4,5,6,8],allow:5,alpha:5,and_data:9,ani:5,api:[],applic:5,architectur:[],arg:[4,6,7,8],automat:8,avail:[6,8],backend_addr:7,base:2,basi:5,befor:5,begin:[4,7],belong:5,below:5,between:5,bool:[6,8],both:5,broker:5,build:8,built:5,bulid:6,call:[6,7],callabl:6,can:5,chang:5,check:[6,8],client:[],come:7,command:[4,5,9],compon:5,connction:[6,8],connect:[4,5,6,7,8],consist:5,contain:[5,9],content:[],context:[6,8],convers:5,convienc:8,creat:[6,7,8,9],csv:5,current:[6,8],deal:9,dealer:8,debug:5,defin:[2,4,5,6,7,8],deliv:5,describ:5,descript:5,detail:5,detect:5,determin:5,dialog:5,dictionari:5,directli:8,disconnect:5,distribut:5,either:5,empti:5,emqp:[],encount:2,end:8,ensur:4,even:5,eventloop:[4,6,7,8],eventmqerror:2,except:[0,5,6,8],execut:5,explicitli:8,expos:4,extra:5,fair:5,fals:[6,8],first:5,fit:5,follow:5,format:[5,9],found:7,foundat:5,frame:[4,5,8],free:5,from:[2,5,7],frontend_addr:7,gener:[4,5,6,8,9],generate_msgid:9,gnu:5,goal:[],good:8,hand:9,handl:5,have:9,header:5,heartbeat:[],heavi:5,here:5,hope:5,html:5,http:5,ident:[5,8],ietf:5,implement:5,impli:5,includ:5,incom:4,index:3,inform:[4,5],inherit:2,insert:[5,8],instanc:4,interpret:5,interv:5,invalidmessageerror:2,isn:7,issu:5,job:[],jobmanag:[],kei:5,kwarg:[4,6,7,8],languag:[],later:5,least:5,leav:5,licens:[],like:[8,9],list:[2,4,6,7,8],listen:[4,6,7,8],look:8,mai:[5,8],main:4,make:9,malform:2,manag:[],manual:5,master:5,merchant:5,messag:[2,4,5,6,7,8,9],message_bodi:9,message_id:9,messageerror:2,method:[6,7],mode:6,modifi:5,modul:[3,9],more:[5,9],msg:[4,5,7],multipart:[5,8],must:5,name:[4,5,6,7,8],none:[6,8],note:[4,6,8],object:[2,4,6,7,8],on_command:7,on_receive_repli:7,on_receive_request:7,on_recv:6,onli:[6,8],option:[4,5,6,8],org:5,orient:5,origin:5,other:5,otherwis:[4,6,8],page:3,param:4,paramet:[4,6,7,8,9],pars:9,parse_messag:9,part:[5,9],particular:[5,8],pass:[5,6],peer:5,pictur:5,poll:[6,8],pool:5,portion:4,practic:8,prepend:5,pretti:5,problem:2,process:5,properti:[6,8],protocol:[],protocol_vers:8,provid:7,pub:5,publish:5,purpos:5,queue:[5,7],rais:[2,4,6,8],raw:8,raw_messag:[],readi:[5,6,8],receiv:[],recent:5,reciev:6,recommend:5,recv:8,recv_multipart:8,redistribut:5,refer:[2,4,6,7,8],regular:5,reliabl:5,remov:5,rep:6,repli:5,req:8,request:[4,5,7],requir:[5,6],resourc:[4,5],respond:5,respons:[4,6,8],restart:5,rfc2119:5,rfc:5,robin:5,round:5,rout:[5,7],router:[],run:4,search:3,see:5,self:4,send:[4,5,8],send_inform:4,send_messag:4,send_multipart:8,send_raw:[],sender:[],sender_id:9,sent:8,seper:5,serv:5,server:[4,5],servic:5,set:[5,6,8],shall:5,should:[2,5,6,8],shown:5,simpl:[7,9],singl:5,skip:[6,8],skip_zmqstream:[6,8],socket:[5,6,7,8],softwar:5,some:8,someth:8,spawn:4,specif:[],specifi:[5,8],start:[4,6,7,8],statu:5,stop:5,str:[4,6,7,8],string:[4,6,7,8],structur:2,sub:5,subclass:2,subject:5,subset:5,task:4,tcp:[4,7],term:5,them:6,thi:[2,4,5,6,7,8,9],thing:[4,9],through:5,time:5,tool:5,topic:[],topolog:[],tornado:[4,7],trace:5,tupl:[4,8,9],type:[5,6,8],typeerror:6,under:5,uniqu:[4,5,9],univers:9,unless:[4,6,8],unus:6,upon:5,uuid:[4,6,8],valid:5,valu:5,version:[5,8],via:[6,8],warn:7,warranti:5,weak:[2,4,6,7,8],web:5,well:5,when:[2,5,6,7,8],where:5,wish:9,without:5,word:5,worker:[],wrap:[6,8],you:[5,8,9],your:[5,8],zcontext:[6,8],zeromq:5,zmq:[5,6,8],zmqstream:[6,8],zsocket:[6,8]},titles:["API Documentation","Contributing to EventMQ","exceptions – Exceptions","EventMQ Documentation","jobmanager – Job Manager","EventMQ Protocol Specification","receiver – Receiver","router – Router","sender – Sender","utils – Utilities"],titleterms:{address:5,api:0,architectur:5,client:5,contribut:1,document:[0,3],emqp:5,eventmq:[1,3,5],except:2,goal:5,heartbeat:5,indic:3,job:4,jobmanag:4,languag:5,licens:5,manag:4,protocol:5,receiv:6,router:[5,7],sender:8,specif:5,tabl:3,topolog:5,util:9,welcom:[],worker:5}})
\ No newline at end of file
diff --git a/sender.html b/sender.html
index 8e7b660..e14c38b 100644
--- a/sender.html
+++ b/sender.html
@@ -31,6 +31,8 @@
+
+
@@ -81,10 +83,15 @@
@@ -115,6 +122,8 @@
Docs »
+ API Documentation »
+
sender – Sender
@@ -242,9 +251,21 @@ False
+
+
+recv( )
+Receive a message
+
+
+
+
+recv_multipart( )
+Receive a multipart message
+
+
-send( message , queue=None )
+send( message , protocol_version )
Sends a message
@@ -252,7 +273,8 @@ False
Parameters:
message – message to send to something
-queue (str ) – queue topic
+protocol_version (str ) – protocol version. it’s good practice, but
+you may explicitly specify None to skip adding the version
@@ -261,14 +283,23 @@ False
-
-send_raw( raw_message )
-Send a message directly to the 0mq socket
+
+send_multipart( message , protocol_version )
+Send a message directly to the 0mq socket. Automatically inserts some
+frames for your convience. The sent frame ends up looking something
+like identity
+
+(this, ‘’, protocol_version) + (your, tuple)
-Parameters: raw_message (tuple, list ) – Raw message to send.
+Parameters:
+message (tuple ) – Raw message to send.
+protocol_version (str ) – protocol version. it’s good practice but
+you may explicitly specify None to skip adding the version
+
+
@@ -285,6 +316,8 @@ False