starpc 0.13.2 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,8 @@ message Packet {
9
9
  CallStart call_start = 1;
10
10
  // CallData is a message in a streaming RPC sequence.
11
11
  CallData call_data = 2;
12
+ // CallCancel cancels the call.
13
+ bool call_cancel = 3;
12
14
  }
13
15
  }
14
16
 
@@ -59,6 +59,16 @@ func (m *Packet_CallData) CloneVT() isPacket_Body {
59
59
  return r
60
60
  }
61
61
 
62
+ func (m *Packet_CallCancel) CloneVT() isPacket_Body {
63
+ if m == nil {
64
+ return (*Packet_CallCancel)(nil)
65
+ }
66
+ r := &Packet_CallCancel{
67
+ CallCancel: m.CallCancel,
68
+ }
69
+ return r
70
+ }
71
+
62
72
  func (m *CallStart) CloneVT() *CallStart {
63
73
  if m == nil {
64
74
  return (*CallStart)(nil)
@@ -178,6 +188,23 @@ func (this *Packet_CallData) EqualVT(thatIface isPacket_Body) bool {
178
188
  return true
179
189
  }
180
190
 
191
+ func (this *Packet_CallCancel) EqualVT(thatIface isPacket_Body) bool {
192
+ that, ok := thatIface.(*Packet_CallCancel)
193
+ if !ok {
194
+ return false
195
+ }
196
+ if this == that {
197
+ return true
198
+ }
199
+ if this == nil && that != nil || this != nil && that == nil {
200
+ return false
201
+ }
202
+ if this.CallCancel != that.CallCancel {
203
+ return false
204
+ }
205
+ return true
206
+ }
207
+
181
208
  func (this *CallStart) EqualVT(that *CallStart) bool {
182
209
  if this == nil {
183
210
  return that == nil
@@ -300,6 +327,23 @@ func (m *Packet_CallData) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
300
327
  }
301
328
  return len(dAtA) - i, nil
302
329
  }
330
+ func (m *Packet_CallCancel) MarshalToVT(dAtA []byte) (int, error) {
331
+ size := m.SizeVT()
332
+ return m.MarshalToSizedBufferVT(dAtA[:size])
333
+ }
334
+
335
+ func (m *Packet_CallCancel) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
336
+ i := len(dAtA)
337
+ i--
338
+ if m.CallCancel {
339
+ dAtA[i] = 1
340
+ } else {
341
+ dAtA[i] = 0
342
+ }
343
+ i--
344
+ dAtA[i] = 0x18
345
+ return len(dAtA) - i, nil
346
+ }
303
347
  func (m *CallStart) MarshalVT() (dAtA []byte, err error) {
304
348
  if m == nil {
305
349
  return nil, nil
@@ -479,6 +523,15 @@ func (m *Packet_CallData) SizeVT() (n int) {
479
523
  }
480
524
  return n
481
525
  }
526
+ func (m *Packet_CallCancel) SizeVT() (n int) {
527
+ if m == nil {
528
+ return 0
529
+ }
530
+ var l int
531
+ _ = l
532
+ n += 2
533
+ return n
534
+ }
482
535
  func (m *CallStart) SizeVT() (n int) {
483
536
  if m == nil {
484
537
  return 0
@@ -645,6 +698,27 @@ func (m *Packet) UnmarshalVT(dAtA []byte) error {
645
698
  m.Body = &Packet_CallData{CallData: v}
646
699
  }
647
700
  iNdEx = postIndex
701
+ case 3:
702
+ if wireType != 0 {
703
+ return fmt.Errorf("proto: wrong wireType = %d for field CallCancel", wireType)
704
+ }
705
+ var v int
706
+ for shift := uint(0); ; shift += 7 {
707
+ if shift >= 64 {
708
+ return ErrIntOverflow
709
+ }
710
+ if iNdEx >= l {
711
+ return io.ErrUnexpectedEOF
712
+ }
713
+ b := dAtA[iNdEx]
714
+ iNdEx++
715
+ v |= int(b&0x7F) << shift
716
+ if b < 0x80 {
717
+ break
718
+ }
719
+ }
720
+ b := bool(v != 0)
721
+ m.Body = &Packet_CallCancel{CallCancel: b}
648
722
  default:
649
723
  iNdEx = preIndex
650
724
  skippy, err := skip(dAtA[iNdEx:])
@@ -33,7 +33,7 @@ func (s *HTTPServer) ServeHTTP(w http.ResponseWriter, r *http.Request) {
33
33
  c, err := websocket.Accept(w, r, &websocket.AcceptOptions{})
34
34
  if err != nil {
35
35
  w.WriteHeader(500)
36
- w.Write([]byte(err.Error() + "\n"))
36
+ _, _ = w.Write([]byte(err.Error() + "\n"))
37
37
  return
38
38
  }
39
39
  defer c.Close(websocket.StatusInternalError, "closed")
@@ -97,6 +97,11 @@ func (r *ServerRPC) HandlePacket(msg *Packet) error {
97
97
  return r.HandleCallStart(b.CallStart)
98
98
  case *Packet_CallData:
99
99
  return r.HandleCallData(b.CallData)
100
+ case *Packet_CallCancel:
101
+ if b.CallCancel {
102
+ r.Close()
103
+ }
104
+ return nil
100
105
  default:
101
106
  return nil
102
107
  }
package/srpc/stream.go CHANGED
@@ -19,6 +19,6 @@ type Stream interface {
19
19
  // CloseSend signals to the remote that we will no longer send any messages.
20
20
  CloseSend() error
21
21
 
22
- // Close closes the stream.
22
+ // Close closes the stream for reading and writing.
23
23
  Close() error
24
24
  }
package/srpc/websocket.go CHANGED
@@ -41,7 +41,11 @@ func (w *WebSocketConn) GetOpenStreamFunc() OpenStreamFunc {
41
41
 
42
42
  // AcceptStream accepts an incoming stream.
43
43
  func (w *WebSocketConn) AcceptStream() (io.ReadWriteCloser, error) {
44
- return w.mconn.AcceptStream()
44
+ strm, err := w.mconn.AcceptStream()
45
+ if err != nil {
46
+ return nil, err
47
+ }
48
+ return strm, nil
45
49
  }
46
50
 
47
51
  // OpenStream tries to open a stream with the remote.
package/srpc/websocket.ts CHANGED
@@ -12,7 +12,7 @@ export class WebSocketConn extends Conn {
12
12
  private socket: WebSocket
13
13
 
14
14
  constructor(socket: WebSocket, direction: Direction, server?: Server) {
15
- super(server, {direction})
15
+ super(server, { direction })
16
16
  this.socket = socket
17
17
  const socketDuplex = duplex(socket)
18
18
  pipe(socketDuplex, this, socketDuplex)