54
54
55
55
namespace RabbitMQ . Client . Impl
56
56
{
57
- public class HeaderWriteFrame : WriteFrame
57
+ public class HeaderWriteFrame : WriteFrame
58
58
{
59
59
public HeaderWriteFrame ( int channel , ContentHeaderBase header , int bodyLength ) : base ( FrameType . FrameHeader , channel )
60
60
{
61
61
NetworkBinaryWriter writer = base . GetWriter ( ) ;
62
-
62
+
63
63
writer . Write ( ( ushort ) header . ProtocolClassId ) ;
64
64
header . WriteTo ( writer , ( ulong ) bodyLength ) ;
65
65
}
66
66
}
67
-
67
+
68
68
public class BodySegmentWriteFrame : WriteFrame
69
69
{
70
70
public BodySegmentWriteFrame ( int channel , byte [ ] body , int offset , int count ) : base ( FrameType . FrameBody , channel )
71
71
{
72
72
NetworkBinaryWriter writer = base . GetWriter ( ) ;
73
-
73
+
74
74
writer . Write ( body , offset , count ) ;
75
75
}
76
76
}
77
-
77
+
78
78
public class MethodWriteFrame : WriteFrame
79
79
{
80
80
public MethodWriteFrame ( int channel , MethodBase method ) : base ( FrameType . FrameMethod , channel )
81
81
{
82
82
NetworkBinaryWriter writer = base . GetWriter ( ) ;
83
-
83
+
84
84
writer . Write ( ( ushort ) method . ProtocolClassId ) ;
85
85
writer . Write ( ( ushort ) method . ProtocolMethodId ) ;
86
-
86
+
87
87
var argWriter = new MethodArgumentWriter ( writer ) ;
88
-
88
+
89
89
method . WriteArgumentsTo ( argWriter ) ;
90
-
90
+
91
91
argWriter . Flush ( ) ;
92
92
}
93
93
}
94
-
94
+
95
95
public class EmptyWriteFrame : WriteFrame
96
96
{
97
97
private static readonly byte [ ] m_emptyByteArray = new byte [ 0 ] ;
@@ -100,7 +100,7 @@ public EmptyWriteFrame() : base(FrameType.FrameHeartbeat, 0)
100
100
{
101
101
base . GetWriter ( ) . Write ( m_emptyByteArray ) ;
102
102
}
103
-
103
+
104
104
public override string ToString ( )
105
105
{
106
106
return base . ToString ( ) + string . Format ( "(type={0}, channel={1}, {2} bytes of payload)" ,
@@ -111,23 +111,23 @@ public override string ToString()
111
111
: Payload . Length . ToString ( ) ) ;
112
112
}
113
113
}
114
-
114
+
115
115
public class WriteFrame : Frame
116
116
{
117
- private readonly MemoryStream m_accumulator ;
117
+ private readonly MemoryStream m_accumulator ;
118
118
private readonly NetworkBinaryWriter writer ;
119
-
119
+
120
120
public WriteFrame ( FrameType type , int channel ) : base ( type , channel )
121
121
{
122
122
m_accumulator = new MemoryStream ( ) ;
123
123
writer = new NetworkBinaryWriter ( m_accumulator ) ;
124
124
}
125
-
125
+
126
126
public NetworkBinaryWriter GetWriter ( )
127
127
{
128
128
return writer ;
129
129
}
130
-
130
+
131
131
public override string ToString ( )
132
132
{
133
133
return base . ToString ( ) + string . Format ( "(type={0}, channel={1}, {2} bytes of payload)" ,
@@ -137,25 +137,25 @@ public override string ToString()
137
137
? "(null)"
138
138
: Payload . Length . ToString ( ) ) ;
139
139
}
140
-
140
+
141
141
public void WriteTo ( NetworkBinaryWriter writer )
142
142
{
143
143
var payload = m_accumulator . ToArray ( ) ;
144
-
144
+
145
145
writer . Write ( ( byte ) Type ) ;
146
146
writer . Write ( ( ushort ) Channel ) ;
147
147
writer . Write ( ( uint ) payload . Length ) ;
148
148
writer . Write ( payload ) ;
149
149
writer . Write ( ( byte ) Constants . FrameEnd ) ;
150
150
}
151
151
}
152
-
152
+
153
153
public class ReadFrame : Frame
154
154
{
155
155
private ReadFrame ( FrameType type , int channel , byte [ ] payload ) : base ( type , channel , payload )
156
156
{
157
157
}
158
-
158
+
159
159
private static void ProcessProtocolHeader ( NetworkBinaryReader reader )
160
160
{
161
161
try
@@ -263,7 +263,7 @@ public override string ToString()
263
263
: base . Payload . Length . ToString ( ) ) ;
264
264
}
265
265
}
266
-
266
+
267
267
public class Frame
268
268
{
269
269
public Frame ( FrameType type , int channel )
@@ -313,7 +313,7 @@ public bool IsHeartbeat()
313
313
return this . Type == FrameType . FrameHeartbeat ;
314
314
}
315
315
}
316
-
316
+
317
317
public enum FrameType : int
318
318
{
319
319
FrameMethod = 1 ,
@@ -323,5 +323,5 @@ public enum FrameType : int
323
323
FrameEnd = 206 ,
324
324
FrameMinSize = 4096
325
325
}
326
-
326
+
327
327
}
0 commit comments