2 ==================================================================================
3 Copyright (c) 2019 AT&T Intellectual Property.
4 Copyright (c) 2019 Nokia
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17 ==================================================================================
29 type MangosMessage struct {
39 type MangosProtocolInfo struct {
46 // Mangos Listener Stub
48 type MangosListener struct {
52 func (l MangosListener) Listen() error {
56 func (l MangosListener) Close() error {
60 func (l MangosListener) Address() string {
64 func (l MangosListener) SetOption(s string, i interface{}) error {
68 func (l MangosListener) GetOption(s string) (interface{},error) {
74 type MangosDialer struct {
77 func (d MangosDialer) Open() error {
81 func (d MangosDialer) Close() error {
85 func (d MangosDialer) Address() string {
89 func (d MangosDialer) SetOption(s string, i interface{}) error {
93 func (d MangosDialer) GetOption(s string) (interface{},error) {
97 // Mangos Context Stub
99 type MangosContext struct {
103 func (c MangosContext) Close() error {
107 func (c MangosContext) SetOption(s string, i interface{}) error {
111 func (c MangosContext) GetOption(s string) (interface{},error) {
115 func (c MangosContext) Send(b []byte) error {
119 func (c MangosContext) Recv() ([]byte, error) {
120 return make([]byte,0), nil
123 func (c MangosContext) SendMsg(*MangosMessage) error {
127 func (c MangosContext) RecvMsg() (*MangosMessage, error) {
133 type MangosPipe struct {
137 func (p MangosPipe) ID() uint32 {
141 func (p MangosPipe) Listener() MangosListener {
142 return MangosListener{}
145 func (p MangosPipe) Dialer() MangosDialer {
146 return MangosDialer{}
149 func (p MangosPipe) Close() error {
153 func (p MangosPipe) Address() string {
157 func (p MangosPipe) GetOption(s string) (interface{},error) {
161 // Mangos PipeEventHook Stub
163 type PipeEventHook func(int, MangosPipe)
165 // Mangos Socket Stub
167 type MangosSocket struct {
168 GenerateSocketCloseError bool
169 GenerateSocketSendError bool
170 GenerateSocketDialError bool
171 GenerateSocketListenError bool
174 func (s MangosSocket) Info() MangosProtocolInfo {
175 return MangosProtocolInfo{}
178 func (s MangosSocket) Close() error {
179 if s.GenerateSocketCloseError {
180 return errors.New("stub generated Socket Close error")
185 func (s MangosSocket) Send(b []byte) error {
186 if s.GenerateSocketSendError {
187 return errors.New("stub generated Socket Send error")
192 func (s MangosSocket) Recv() ([]byte, error) {
193 return make([]byte,0), nil
196 func (s MangosSocket) SendMsg(*MangosMessage) error {
200 func (s MangosSocket) RecvMsg() (*MangosMessage, error) {
204 func (s MangosSocket) Dial(t string) error {
205 if s.GenerateSocketDialError {
206 return errors.New("stub generated Socket Dial error")
211 func (s MangosSocket) DialOptions(t string, m map[string]interface{}) error {
212 if err := s.Dial(t); err != nil {
218 func (s MangosSocket) NewDialer(t string, m map[string]interface{}) (MangosDialer, error) {
219 return MangosDialer{}, nil
222 func (s MangosSocket) Listen(t string) error {
223 if s.GenerateSocketListenError {
224 return errors.New("stub generated Socket Listen error")
229 func (s MangosSocket) ListenOptions(t string, m map[string]interface{}) error {
233 func (s MangosSocket) NewListener(t string, m map[string]interface{}) (MangosListener, error) {
234 return MangosListener{}, nil
237 func (s MangosSocket) SetOption(t string, i interface{}) error {
241 func (s MangosSocket) GetOption(t string) (interface{},error) {
245 func (s MangosSocket) OpenContext() (MangosContext, error) {
246 return MangosContext{}, nil
249 func (s MangosSocket) SetPipeEventHook(p PipeEventHook) PipeEventHook {
253 // Mangos ProtocolPipe Stub
255 type MangosProtocolPipe struct {
259 func (p MangosProtocolPipe) ID() uint32 {
263 func (p MangosProtocolPipe) Close() error {
267 func (p MangosProtocolPipe) SendMsg(m *MangosMessage) error {
271 func (p MangosProtocolPipe) RecvMsg() *MangosMessage {
275 // Mangos ProtocolContext Stub
277 type MangosProtocolContext struct {
281 func (p MangosProtocolContext) Close() error {
285 func (p MangosProtocolContext) SendMsg(m *MangosMessage) error {
289 func (p MangosProtocolContext) RecvMsg() (*MangosMessage, error) {
293 func (p MangosProtocolContext) GetOption(s string) (interface{}, error) {
297 func (p MangosProtocolContext) SetOption(s string, i interface{}) error {
301 // Mangos ProtocolBase Stub
303 type MangosProtocolBase struct {
304 MangosProtocolContext
307 func (p MangosProtocolBase) Info() MangosProtocolInfo {
308 return MangosProtocolInfo{}
311 func (p MangosProtocolBase) AddPipe(t MangosProtocolPipe) error {
315 func (p MangosProtocolBase) RemovePipe(MangosProtocolPipe) {
319 func (p MangosProtocolBase) OpenContext() (MangosProtocolContext, error) {
320 return MangosProtocolContext{}, nil