qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@apache.org
Subject qpid-proton git commit: removed incomplete go binding
Date Mon, 09 Mar 2015 11:38:57 GMT
Repository: qpid-proton
Updated Branches:
  refs/heads/0.9 [created] e0671e7bd


removed incomplete go binding


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/e0671e7b
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/e0671e7b
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/e0671e7b

Branch: refs/heads/0.9
Commit: e0671e7bd61975d42fcd0bd24f47a8067daae637
Parents: 0b4e9ba
Author: Rafael Schloming <rhs@alum.mit.edu>
Authored: Tue Mar 10 00:37:22 2015 +1300
Committer: Rafael Schloming <rhs@alum.mit.edu>
Committed: Tue Mar 10 00:37:22 2015 +1300

----------------------------------------------------------------------
 proton-c/bindings/go/README.md                  | 133 ------------
 proton-c/bindings/go/WARNING_EXPERIMENTAL       |   1 -
 .../bindings/go/src/apache.org/proton/doc.go    |  33 ---
 .../go/src/apache.org/proton/encoding.go        | 216 -------------------
 .../bindings/go/src/apache.org/proton/error.go  |  91 --------
 .../go/src/apache.org/proton/interop_test.go    | 121 -----------
 .../bindings/go/src/apache.org/proton/types.go  |  25 ---
 .../bindings/go/src/apache.org/proton/url.go    |  96 ---------
 .../go/src/apache.org/proton/url_test.go        |  51 -----
 9 files changed, 767 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/README.md
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/README.md b/proton-c/bindings/go/README.md
deleted file mode 100644
index 31bdb5d..0000000
--- a/proton-c/bindings/go/README.md
+++ /dev/null
@@ -1,133 +0,0 @@
-# *EXPERIMENTAL* Go binding for proton
-
-This is the beginning of a [Go](http://golang.org) binding for proton.
-
-This work is in very early *experimental* stages, *everything* might change in
-future.  Comments and contributions are strongly encouraged, this experiment is
-public so early feedback can guide development.
-
-- Email <proton@qpid.apache.org>
-- Create issues <https://issues.apache.org/jira/browse/PROTON>, attach patches to an
issue.
-
-## Goals
-
-The API will be inspired by the reactive, event-driven python API. Key features:
-
-- support client and server development.
-- incremental composition of functionality via handlers.
-- default handlers to make simple tasks simple.
-- deep access to AMQP protocol events when that is required.
-
-The API will be idiomatic, unsurprising, and easy to use for Go developers.
-
-There are two types of developer we want to support
-
-1. For Go developers using AMQP as a message transport:
-   - Straightforward conversions between Go built-in types and AMQP types.
-   - Easy message exchange via Go channels to support use in goroutines.
-
-2. For AMQP-aware developers using Go as an implementation language:
-   - Go types to exactly represent all AMQP types and encoding details.
-   - Full access to AMQP concepts like connections, sessions and links via handler interfaces.
-
-We will follow conventions of the C and python API where possible to help
-cross-language developers but idiomatic Go is the overriding consideration.
-
-## Status
-
-So just a simple Go `Url` type using `pn_url_t`.  This establishes the basics of
-using cgo to call into proton code.
-
-## Layout
-
-This directory is a [Go work-space](http://golang.org/doc/code.html), it is not
-yet connected to the rest of the proton build.
-
-To experiment, install proton in a standard place or set these environment
-variables: `PATH`, `C_INCLUDE_PATH`, `LIBRARY_PATH` and `LD_LIBRARY_PATH`.
-
-Add this directory to `GOPATH` for the Go tools.
-
-To see the docs as text:
-
-    godoc apache.org/proton
-
-To see them in your browser run this in the background and open
-http://localhost:6060 in your browser:
-
-    godoc -http=:6060 -index=true&
-
-Click "Packages" and "proton" to see the proton docs. It takes a minute or two
-to generate the index so search may not work immediately.
-
-To run the unit tests:
-
-    go test -a apache.org/proton
-
-## New to Go?
-
-If you are new to Go then these are a good place to start:
-
-- [A Tour of Go](http://tour.golang.org)
-- [Effective Go](http://golang.org/doc/effective_go.html)
-
-Then look at the tools and library docs at <http://golang.org> as you need them.
-
-## Design Notes
-
-### C wrapping philosophy
-
-We use `cgo` to call proton C functions directly. `cgo` is simpler and more
-direct than Swig and integrated into the Go tools.
-
-Calling C directly from Go is so easy that we will avoid low-level 1-1 wrappers
-for proton objects and focus on easy to use Go types that live within Go's
-automatic memory management. 
-
-Programmers that need lower-level access than we provide can go direct to C, but
-of course we will aim to make that unnecessary in all but the most unusual cases.
-
-###  Other considerations
-
-Go's use of channels for synchronization present interesting opportunities. Go
-also supports traditional locking, so we could adopt locking strategies similar
-to our other bindings, but we should investigate the Go-like alternatives. There
-are analogies between Go channels and AMQP links that we will probably exploit.
-
-## Implementation status
-
-Working on API to marshal/unmarshal AMQP data into Go types.
-
-The API will follow the style of the standard libraries encoding/json and encoding/xml.
-
-To be done:
-
-Easy unmarshaling into native Go types:
-
-- String-like AMQP types (symbol, binary, string) into Go string or []byte
-- Numeric AMQP types into any Go numeric (numeric conversion)
-- Any AMQP type into GO reflect.Value choosing the closest native Go type
-- AMQP map into go struct if keys match struct field names and values match field types
-- AMQP maps into map[K]T if all AMQP keys/values can convert to K and T (reflect.Value allowed)
-- AMQP list into []T if all list elements can convert to T (reflect.Value allowed)
-
-Easy marshaling of native Go types:
-
-- Go struct: amqp map with field names as string keys (use tags to customize?)
-- Go string to AMQP string, Go []byte to AMQP binary, Go numerics to closest AMQP numeric
-- Go []T to AMQP list
-- Go map to AMQP map
-
-Customization:
-
-- Standard encoding libraries define Marshaler and Unmarshaler interfaces.
-- User implements to customize behavior of a user type.
-- Does this require exposing the proton codec?
-
-Exact (strict) (un)marshaling:
-
-- Define special Go AMQP types that exactly reflect AMQP types & encodings.
-- Unmarshal to special types only if exact match for wire
-- Marshal special types exactly
-- Define AMQPValue which can unmarshal from any AMQP type using strict unmarshaling types.
-

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/WARNING_EXPERIMENTAL
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/WARNING_EXPERIMENTAL b/proton-c/bindings/go/WARNING_EXPERIMENTAL
deleted file mode 100644
index 96dc92f..0000000
--- a/proton-c/bindings/go/WARNING_EXPERIMENTAL
+++ /dev/null
@@ -1 +0,0 @@
-See README.md

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/src/apache.org/proton/doc.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/apache.org/proton/doc.go b/proton-c/bindings/go/src/apache.org/proton/doc.go
deleted file mode 100644
index 34f85fe..0000000
--- a/proton-c/bindings/go/src/apache.org/proton/doc.go
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-/*
-Package proton is a Go binding for the proton AMQP protocol engine.
-
-It alows you to construct and parse AMQP messages, and to implement AMQP
-clients, servers and intermediaries that can exchange messages with any
-AMQP 1.0 compliant endpoint.
-
-Encoding and decoding AMQP data follows the pattern of the standard
-encoding/json and encoding/xml packages.The mapping between AMQP and Go types is
-described in the documentation of the Marshal and Unmarshal functions.
-*/
-package proton
-
-// This file is just for the package comment.

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/src/apache.org/proton/encoding.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/apache.org/proton/encoding.go b/proton-c/bindings/go/src/apache.org/proton/encoding.go
deleted file mode 100644
index eb42c8c..0000000
--- a/proton-c/bindings/go/src/apache.org/proton/encoding.go
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package proton
-
-//#include <proton/codec.h>
-import "C"
-
-import (
-	"bytes"
-	"io"
-	"reflect"
-	"unsafe"
-)
-
-//
-// Decoding from a pn_data_t
-//
-
-type pnDecoder struct{ data *C.pn_data_t }
-
-func newPnDecoder() pnDecoder { return pnDecoder{C.pn_data(0)} }
-func (pd pnDecoder) free()    { C.pn_data_free((*C.pn_data_t)(pd.data)) }
-
-// decode from bytes. Return bytes decoded and errEOS if we run out of data.
-func (pd pnDecoder) decode(bytes []byte) (n int, err error) {
-	C.pn_data_clear(pd.data)
-	if len(bytes) == 0 {
-		return 0, errEOS
-	}
-	cBuf := (*C.char)(unsafe.Pointer(&bytes[0]))
-	result := int(C.pn_data_decode(pd.data, cBuf, C.size_t(len(bytes))))
-	if result < 0 {
-		return 0, errorCode(result)
-	} else {
-		return result, nil
-	}
-}
-
-// Unmarshal decodes bytes and converts into the value pointed to by v.
-//
-// Returns the number of bytes decoded and an errorCode on error.
-func (pd pnDecoder) unmarshal(bytes []byte, v interface{}) (n int, err error) {
-	n, err = pd.decode(bytes)
-	if err != nil {
-		return
-	}
-	switch v := v.(type) {
-	case *string:
-		err = pd.unmarshalString(v)
-	case *[]byte:
-		err = pd.unmarshalBytes(v)
-	case *Symbol:
-		err = pd.unmarshalSymbol(v)
-	default:
-		note := ""
-		if reflect.TypeOf(v).Kind() != reflect.Ptr {
-			note = "is not a pointer"
-		}
-		return 0, errorf("Unmarshal bad type: %T %s", v, note)
-		// FIXME aconway 2015-03-02: not finished
-	}
-	if err != nil {
-		return 0, err
-	}
-	return
-}
-
-func (pd pnDecoder) unmarshalPnBytes(target string) (pnBytes C.pn_bytes_t, err error) {
-	switch amqpType := C.pn_data_type(pd.data); amqpType {
-	case C.PN_STRING:
-		pnBytes = C.pn_data_get_string(pd.data)
-	case C.PN_BINARY:
-		pnBytes = C.pn_data_get_binary(pd.data)
-	case C.PN_SYMBOL:
-		pnBytes = C.pn_data_get_symbol(pd.data)
-	default:
-		// FIXME aconway 2015-03-02: error message - json style UnmarsalTypeError?
-		return C.pn_bytes_t{}, errorf("Unmarshal cannot convert %#v to %s", amqpType, target)
-	}
-	return pnBytes, nil
-}
-
-func (pd pnDecoder) unmarshalString(v *string) error {
-	pnBytes, err := pd.unmarshalPnBytes("string")
-	if err == nil {
-		*v = C.GoStringN(pnBytes.start, C.int(pnBytes.size))
-	}
-	return err
-}
-
-func (pd pnDecoder) unmarshalBytes(v *[]byte) error {
-	pnBytes, err := pd.unmarshalPnBytes("[]byte")
-	*v = C.GoBytes(unsafe.Pointer(pnBytes.start), C.int(pnBytes.size))
-	return err
-}
-
-func (pd pnDecoder) unmarshalSymbol(v *Symbol) error {
-	pnBytes, err := pd.unmarshalPnBytes("symbol")
-	if err == nil {
-		*v = Symbol(C.GoStringN(pnBytes.start, C.int(pnBytes.size)))
-	}
-	return err
-}
-
-/*
-Unmarshal decodes AMQP-encoded bytes and stores the result in the value pointed to by v.
-
-FIXME mapping details
-
- +-------------------------------+-----------------------------------------------+
- |AMQP type                      |Go type                                        |
- +-------------------------------+-----------------------------------------------+
- |string                         |string                                         |
- +-------------------------------+-----------------------------------------------+
- |symbol                         |proton.Symbol                                  |
- +-------------------------------+-----------------------------------------------+
- |binary                         |[]byte                                         |
- +-------------------------------+-----------------------------------------------+
-*/
-func Unmarshal(bytes []byte, v interface{}) error {
-	pd := newPnDecoder()
-	defer pd.free()
-	_, err := pd.unmarshal(bytes, v)
-	return err
-}
-
-// Decoder decodes AMQP values from an io.Reader.
-//
-type Decoder struct {
-	reader  io.Reader
-	buffer  bytes.Buffer
-	readErr error // Outstanding error on our reader
-}
-
-// NewDecoder returns a new decoder that reads from r.
-//
-// The decoder has it's own buffer and may read more data than required for the
-// AMQP values requested.  Use Buffered to see if there is data left in the
-// buffer.
-//
-func NewDecoder(r io.Reader) *Decoder {
-	return &Decoder{r, bytes.Buffer{}, nil}
-}
-
-// Buffered returns a reader of the data remaining in the Decoder's buffer. The
-// reader is valid until the next call to Decode.
-//
-func (d *Decoder) Buffered() io.Reader {
-	return bytes.NewReader(d.buffer.Bytes())
-}
-
-// more reads more data when we can't parse a complete AMQP type
-func (d *Decoder) more() error {
-	if d.readErr != nil { // Reader already broken, give up
-		return d.readErr
-	}
-	var readSize int64 = 256
-	if int64(d.buffer.Len()) > readSize { // Grow by doubling
-		readSize = int64(d.buffer.Len())
-	}
-	var n int64
-	n, d.readErr = d.buffer.ReadFrom(&io.LimitedReader{d.reader, readSize})
-	if n == 0 { // ReadFrom won't report io.EOF, just returns 0
-		if d.readErr != nil {
-			return d.readErr
-		} else {
-			return errorf("no data")
-		}
-	}
-	return nil
-}
-
-// Decode reads the next AMQP value from the Reader and stores it in the value pointed to
by v.
-//
-// See the documentation for Unmarshal for details about the conversion of AMQP into a Go
value.
-//
-func (d *Decoder) Decode(v interface{}) (err error) {
-	pd := newPnDecoder()
-	defer pd.free()
-
-	// On errEOS, read more data and try again till we have a complete pn_data.
-	for {
-		var n int
-		n, err = pd.unmarshal(d.buffer.Bytes(), v)
-		switch err {
-		case nil:
-			d.buffer.Next(n)
-			return
-		case errEOS:
-			err = d.more()
-			if err != nil {
-				return err
-			}
-		default:
-			return err
-		}
-	}
-	return err
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/src/apache.org/proton/error.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/apache.org/proton/error.go b/proton-c/bindings/go/src/apache.org/proton/error.go
deleted file mode 100644
index 51cde28..0000000
--- a/proton-c/bindings/go/src/apache.org/proton/error.go
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package proton
-
-// #include <proton/error.h>
-import "C"
-
-import (
-	"fmt"
-)
-
-// errorCode is an error code returned by proton C.
-type errorCode int
-
-const (
-	errEOS         errorCode = C.PN_EOS
-	errError                 = C.PN_ERR
-	errOverflow              = C.PN_OVERFLOW
-	errUnderflow             = C.PN_UNDERFLOW
-	errState                 = C.PN_STATE_ERR
-	errArgument              = C.PN_ARG_ERR
-	errTimeout               = C.PN_TIMEOUT
-	errInterrupted           = C.PN_INTR
-	errInProgress            = C.PN_INPROGRESS
-)
-
-// String gives a brief description of an errorCode.
-func (code errorCode) String() string {
-	switch code {
-	case errEOS:
-		return "end of data"
-	case errError:
-		return "error"
-	case errOverflow:
-		return "overflow"
-	case errUnderflow:
-		return "underflow"
-	case errState:
-		return "bad state"
-	case errArgument:
-		return "invalid argument"
-	case errTimeout:
-		return "timeout"
-	case errInterrupted:
-		return "interrupted"
-	case errInProgress:
-		return "in progress"
-	}
-	return fmt.Sprintf("invalid error code %d", code)
-}
-
-// An errorCode can be used as an error
-func (code errorCode) Error() string {
-	return fmt.Sprintf("proton: %v", code)
-}
-
-// pnError is a simple error string.
-//
-// NOTE: All error types used in proton have both String() and Error() methods.
-// The String() method prints the plain error message, the Error() method
-// prints the error message with a "proton:" prefix.
-// Thus you can format nested error messages with "%s" without getting nested "proton:"
-// prefixes but the prefix will be added when the end user uses Error()
-// or "%v" on the error value.
-//
-type pnError string
-
-func (err pnError) String() string { return string(err) }
-func (err pnError) Error() string  { return fmt.Sprintf("proton: %s", string(err)) }
-
-// errorf creates an error with a formatted message
-func errorf(format string, a ...interface{}) error {
-	return pnError(fmt.Sprintf(format, a...))
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/src/apache.org/proton/interop_test.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/apache.org/proton/interop_test.go b/proton-c/bindings/go/src/apache.org/proton/interop_test.go
deleted file mode 100644
index db988d2..0000000
--- a/proton-c/bindings/go/src/apache.org/proton/interop_test.go
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-// Test that conversion of Go type to/from AMQP is compatible with other
-// bindings.
-//
-// FIXME aconway 2015-03-01: this should move to proton/tests/go when we integrate
-// better with the proton build system.
-//
-package proton
-
-import (
-	"fmt"
-	"io"
-	"io/ioutil"
-	"os"
-	"reflect"
-	"testing"
-)
-
-func getReader(t *testing.T, name string) (r io.Reader) {
-	r, err := os.Open("../../../../../../tests/interop/" + name + ".amqp")
-	if err != nil {
-		t.Fatalf("Can't open %#v: %v", name, err)
-	}
-	return
-}
-
-func remaining(d *Decoder) string {
-	remainder, _ := ioutil.ReadAll(io.MultiReader(d.Buffered(), d.reader))
-	return string(remainder)
-}
-
-// Expectation of a test, want is the expected value, got is a pointer to a
-// instance of the same type, which will be replaced by Decode.
-type expect struct {
-	want, got interface{}
-}
-
-// checkDecode: want is the expected value, gotPtr is a pointer to a
-// instance of the same type for Decode.
-func checkDecode(d *Decoder, want interface{}, gotPtr interface{}) error {
-	err := d.Decode(gotPtr)
-	if err != nil {
-		return err
-	}
-	got := reflect.ValueOf(gotPtr).Elem().Interface()
-	if !reflect.DeepEqual(want, got) {
-		return fmt.Errorf("%#v != %#v", want, got)
-	}
-	return nil
-}
-
-func TestUnmarshal(t *testing.T) {
-	bytes, err := ioutil.ReadAll(getReader(t, "strings"))
-	if err != nil {
-		t.Error(err)
-	}
-	var got string
-	err = Unmarshal(bytes, &got)
-	if err != nil {
-		t.Error(err)
-	}
-	want := "abc\000defg"
-	if want != got {
-		t.Errorf("%#v != %#v", want, got)
-	}
-}
-
-func TestStrings(t *testing.T) {
-	d := NewDecoder(getReader(t, "strings"))
-	// Test decoding as plain Go strings
-	for i, want := range []string{"abc\000defg", "abcdefg", "abcdefg", "", "", ""} {
-		var got string
-		if err := checkDecode(d, want, &got); err != nil {
-			t.Errorf("%d: %v", i, err)
-		}
-	}
-	remains := remaining(d)
-	if remains != "" {
-		t.Errorf("leftover: %s", remains)
-	}
-
-	// Test decoding as specific string types
-	d = NewDecoder(getReader(t, "strings"))
-	var bytes []byte
-	var str string
-	var sym Symbol
-	for i, expect := range []expect{
-		{[]byte("abc\000defg"), &bytes},
-		{"abcdefg", &str},
-		{Symbol("abcdefg"), &sym},
-		{make([]byte, 0), &bytes},
-		{"", &str},
-		{Symbol(""), &sym},
-	} {
-		if err := checkDecode(d, expect.want, expect.got); err != nil {
-			t.Errorf("%d: %v", i, err)
-		}
-	}
-	remains = remaining(d)
-	if remains != "" {
-		t.Errorf("leftover: %s", remains)
-	}
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/src/apache.org/proton/types.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/apache.org/proton/types.go b/proton-c/bindings/go/src/apache.org/proton/types.go
deleted file mode 100644
index bde1ddd..0000000
--- a/proton-c/bindings/go/src/apache.org/proton/types.go
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package proton
-
-// Types to exactly represent specific AMQP encodings
-
-// Symbol is the AMQP symbol data type, it can be converted to a Go string or []byte
-type Symbol string

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/src/apache.org/proton/url.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/apache.org/proton/url.go b/proton-c/bindings/go/src/apache.org/proton/url.go
deleted file mode 100644
index 1511203..0000000
--- a/proton-c/bindings/go/src/apache.org/proton/url.go
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package proton
-
-/*
-#cgo LDFLAGS: -lqpid-proton
-#include <stdlib.h>
-#include <string.h>
-#include <proton/url.h>
-
-// Helper function for setting URL fields.
-typedef void (*setter_fn)(pn_url_t* url, const char* value);
-inline void	set(pn_url_t *url, setter_fn s, const char* value) {
-  s(url, value);
-}
-*/
-import "C"
-
-import (
-	"net"
-	"net/url"
-	"unsafe"
-)
-
-const (
-	AMQP  string = "amqp"
-	AMQPS        = "amqps"
-)
-
-// ParseUrl parses an AMQP URL string and returns a net/url.Url.
-//
-// It is more forgiving than net/url.Parse and allows most of the parts of the
-// URL to be missing, assuming AMQP defaults.
-//
-func ParseURL(s string) (u *url.URL, err error) {
-	cstr := C.CString(s)
-	defer C.free(unsafe.Pointer(cstr))
-	pnUrl := C.pn_url_parse(cstr)
-	if pnUrl == nil {
-		return nil, errorf("bad URL %#v", s)
-	}
-	defer C.pn_url_free(pnUrl)
-
-	scheme := C.GoString(C.pn_url_get_scheme(pnUrl))
-	username := C.GoString(C.pn_url_get_username(pnUrl))
-	password := C.GoString(C.pn_url_get_password(pnUrl))
-	host := C.GoString(C.pn_url_get_host(pnUrl))
-	port := C.GoString(C.pn_url_get_port(pnUrl))
-	path := C.GoString(C.pn_url_get_path(pnUrl))
-
-	if err != nil {
-		return nil, errorf("bad URL %#v: %s", s, err)
-	}
-	if scheme == "" {
-		scheme = AMQP
-	}
-	if port == "" {
-		if scheme == AMQPS {
-			port = AMQPS
-		} else {
-			port = AMQP
-		}
-	}
-	var user *url.Userinfo
-	if password != "" {
-		user = url.UserPassword(username, password)
-	} else if username != "" {
-		user = url.User(username)
-	}
-
-	u = &url.URL{
-		Scheme: scheme,
-		User:   user,
-		Host:   net.JoinHostPort(host, port),
-		Path:   path,
-	}
-
-	return u, nil
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e0671e7b/proton-c/bindings/go/src/apache.org/proton/url_test.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/apache.org/proton/url_test.go b/proton-c/bindings/go/src/apache.org/proton/url_test.go
deleted file mode 100644
index 7315511..0000000
--- a/proton-c/bindings/go/src/apache.org/proton/url_test.go
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-package proton
-
-import (
-	"fmt"
-)
-
-func ExampleParseURL() {
-	for _, s := range []string{
-		"amqp://username:password@host:1234/path",
-		"host:1234",
-		"host",
-		":1234",
-		"host/path",
-		"amqps://host",
-		"",
-	} {
-		u, err := ParseURL(s)
-		if err != nil {
-			fmt.Println(err)
-		} else {
-			fmt.Println(u)
-		}
-	}
-	// Output:
-	// amqp://username:password@host:1234/path
-	// amqp://host:1234
-	// amqp://host:amqp
-	// amqp://:1234
-	// amqp://host:amqp/path
-	// amqps://host:amqps
-	// proton: bad URL ""
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


Mime
View raw message