@@ -129,82 +129,6 @@ extension PSQLFrontendMessage {
129129 }
130130}
131131
132- extension PSQLFrontendMessage {
133- struct Encoder : MessageToByteEncoder {
134- typealias OutboundIn = PSQLFrontendMessage
135-
136- let jsonEncoder : PSQLJSONEncoder
137-
138- init ( jsonEncoder: PSQLJSONEncoder ) {
139- self . jsonEncoder = jsonEncoder
140- }
141-
142- func encode( data message: PSQLFrontendMessage , out buffer: inout ByteBuffer ) throws {
143- struct EmptyPayload : PSQLMessagePayloadEncodable {
144- func encode( into buffer: inout ByteBuffer ) { }
145- }
146-
147- func encode< Payload: PSQLMessagePayloadEncodable > ( _ payload: Payload , into buffer: inout ByteBuffer ) {
148- let startIndex = buffer. writerIndex
149- buffer. writeInteger ( Int32 ( 0 ) ) // placeholder for length
150- payload. encode ( into: & buffer)
151- let length = Int32 ( buffer. writerIndex - startIndex)
152- buffer. setInteger ( length, at: startIndex)
153- }
154-
155- switch message {
156- case . bind( let bind) :
157- buffer. writeInteger ( message. id. rawValue)
158- let startIndex = buffer. writerIndex
159- buffer. writeInteger ( Int32 ( 0 ) ) // placeholder for length
160- try bind. encode ( into: & buffer, using: self . jsonEncoder)
161- let length = Int32 ( buffer. writerIndex - startIndex)
162- buffer. setInteger ( length, at: startIndex)
163-
164- case . cancel( let cancel) :
165- // cancel requests don't have an identifier
166- encode ( cancel, into: & buffer)
167- case . close( let close) :
168- buffer. writeFrontendMessageID ( message. id)
169- encode ( close, into: & buffer)
170- case . describe( let describe) :
171- buffer. writeFrontendMessageID ( message. id)
172- encode ( describe, into: & buffer)
173- case . execute( let execute) :
174- buffer. writeFrontendMessageID ( message. id)
175- encode ( execute, into: & buffer)
176- case . flush:
177- buffer. writeFrontendMessageID ( message. id)
178- encode ( EmptyPayload ( ) , into: & buffer)
179- case . parse( let parse) :
180- buffer. writeFrontendMessageID ( message. id)
181- encode ( parse, into: & buffer)
182- case . password( let password) :
183- buffer. writeFrontendMessageID ( message. id)
184- encode ( password, into: & buffer)
185- case . saslInitialResponse( let saslInitialResponse) :
186- buffer. writeFrontendMessageID ( message. id)
187- encode ( saslInitialResponse, into: & buffer)
188- case . saslResponse( let saslResponse) :
189- buffer. writeFrontendMessageID ( message. id)
190- encode ( saslResponse, into: & buffer)
191- case . sslRequest( let request) :
192- // sslRequests don't have an identifier
193- encode ( request, into: & buffer)
194- case . startup( let startup) :
195- // startup requests don't have an identifier
196- encode ( startup, into: & buffer)
197- case . sync:
198- buffer. writeFrontendMessageID ( message. id)
199- encode ( EmptyPayload ( ) , into: & buffer)
200- case . terminate:
201- buffer. writeFrontendMessageID ( message. id)
202- encode ( EmptyPayload ( ) , into: & buffer)
203- }
204- }
205- }
206- }
207-
208132protocol PSQLMessagePayloadEncodable {
209133 func encode( into buffer: inout ByteBuffer )
210134}
0 commit comments