1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
From samset at wanadoo.fr Wed Apr 22 22:56:01 2015
From: samset at wanadoo.fr (Samir Sow)
Date: Wed, 22 Apr 2015 22:56:01 +0200
Subject: [99s-extend] cowboy_websocket_handler
Message-ID: <[email protected]>
Hi there,
I would like to learn more about the cowboy_xxxx_handler for instance the cowboy_websocket_handler :
- is it an OTP gen_ instance ?
- how/where the websocket_handle() is called ?
- how websocket_info() relates to the Transport:send() operation and where/how this latter function is called?
I could not find the cowboy_websocket_handler behavior in the src dir. I guess i?ve missed something.
The code is clean but difficult to decipher by a erlang padawan like me.
Why do i need to understand this ?
I would like to write a generic tcp transport layer that provides an interface like the cowboy_xxx_handler to my protocol stack.
Of course i will use ranch underneath.
Neither the examples provided with ranch nor the ftp server tutorial reveals the sophisticated architecture used to handover data/context to the handler and to get reply data from the handler.
Thank you for your help.
Samir Sow
From essen at ninenines.eu Wed Apr 22 23:18:29 2015
From: essen at ninenines.eu (=?UTF-8?B?TG/Dr2MgSG9ndWlu?=)
Date: Thu, 23 Apr 2015 00:18:29 +0300
Subject: [99s-extend] cowboy_websocket_handler
In-Reply-To: <[email protected]>
References: <[email protected]>
Message-ID: <[email protected]>
Hello,
On 04/22/2015 11:56 PM, Samir Sow wrote:
> I would like to learn more about the cowboy_xxxx_handler for instance the cowboy_websocket_handler :
> - is it an OTP gen_ instance ?
> - how/where the websocket_handle() is called ?
> - how websocket_info() relates to the Transport:send() operation and where/how this latter function is called?
>
> I could not find the cowboy_websocket_handler behavior in the src dir. I guess i?ve missed something.
> The code is clean but difficult to decipher by a erlang padawan like me.
Presumably you are looking in master. cowboy_websocket does that in
master now. cowboy_websocket_handler is in Cowboy 1.0.
--
Lo?c Hoguin
http://ninenines.eu
From samset at wanadoo.fr Wed Apr 22 23:39:29 2015
From: samset at wanadoo.fr (Samir Sow)
Date: Wed, 22 Apr 2015 23:39:29 +0200
Subject: [99s-extend] cowboy_websocket_handler
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
Message-ID: <[email protected]>
Thanks.
Still i can?t figure out how you manage the data transmission from/to handler via the websocket_handle() and websocket_info() function.
Samir
> On 22 avr. 2015, at 23:18, Lo?c Hoguin <essen at ninenines.eu> wrote:
>
> Hello,
>
> On 04/22/2015 11:56 PM, Samir Sow wrote:
>> I would like to learn more about the cowboy_xxxx_handler for instance the cowboy_websocket_handler :
>> - is it an OTP gen_ instance ?
>> - how/where the websocket_handle() is called ?
>> - how websocket_info() relates to the Transport:send() operation and where/how this latter function is called?
>>
>> I could not find the cowboy_websocket_handler behavior in the src dir. I guess i?ve missed something.
>> The code is clean but difficult to decipher by a erlang padawan like me.
>
> Presumably you are looking in master. cowboy_websocket does that in master now. cowboy_websocket_handler is in Cowboy 1.0.
>
> --
> Lo?c Hoguin
> http://ninenines.eu
From essen at ninenines.eu Thu Apr 23 10:55:23 2015
From: essen at ninenines.eu (=?UTF-8?B?TG/Dr2MgSG9ndWlu?=)
Date: Thu, 23 Apr 2015 11:55:23 +0300
Subject: [99s-extend] cowboy_websocket_handler
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
Message-ID: <[email protected]>
It's a simple function call.
Assuming the variable Handler contains the name of the module, it's just
doing Handler:websocket_info(Info, Req, State) and then checks the
return value.
On 04/23/2015 12:39 AM, Samir Sow wrote:
> Thanks.
> Still i can?t figure out how you manage the data transmission from/to handler via the websocket_handle() and websocket_info() function.
>
> Samir
>
>> On 22 avr. 2015, at 23:18, Lo?c Hoguin <essen at ninenines.eu> wrote:
>>
>> Hello,
>>
>> On 04/22/2015 11:56 PM, Samir Sow wrote:
>>> I would like to learn more about the cowboy_xxxx_handler for instance the cowboy_websocket_handler :
>>> - is it an OTP gen_ instance ?
>>> - how/where the websocket_handle() is called ?
>>> - how websocket_info() relates to the Transport:send() operation and where/how this latter function is called?
>>>
>>> I could not find the cowboy_websocket_handler behavior in the src dir. I guess i?ve missed something.
>>> The code is clean but difficult to decipher by a erlang padawan like me.
>>
>> Presumably you are looking in master. cowboy_websocket does that in master now. cowboy_websocket_handler is in Cowboy 1.0.
>>
>> --
>> Lo?c Hoguin
>> http://ninenines.eu
>
--
Lo?c Hoguin
http://ninenines.eu
|